Nie mam pojęcia, od czego zacząć. Czytałem o demonach i nie rozumiałem pojęcia.
Więcej szczegółów :
- Pisałem robota, który nigdy się nie zatrzymuje, i robota indeksującego przez RSS w Internecie.
- Crawler został napisany w Javie - dlatego jest teraz słoikiem.
- Jestem administratorem na komputerze z systemem Ubuntu 11.04.
- Istnieje pewna szansa na awarię maszyny, dlatego chciałbym, aby przeszukiwacz działał przy każdym uruchomieniu maszyny.
- Ponadto chciałbym, aby działał nawet po wylogowaniu. Nie jestem pewien, czy to możliwe, ale przez większość czasu jestem wylogowany i nadal chcę się czołgać.
Jakieś pomysły? Czy ktoś może skierować mnie we właściwym kierunku?
Po prostu szukam najprostszego rozwiązania.
Tak! To jest możliwe. :) Upstart to sposób, aby upewnić się, że usługa będzie nadal działać. Ma pięć pakietów, wszystkie domyślnie zainstalowane:
Nauka jest bardzo przyjemna i warto. Upstart ma stronę internetową: http://upstart.ubuntu.com/
źródło
3 szybkie sugestie ...
Tworzenie S skrypt cierpki w
/etc/rc3.d
(tryb wielu użytkowników konsoli) z odpowiednimi K skrypty chora/etc/rc.0
i/etc/rc6.d
zabić program Java w sposób kontrolowany, gdy uprawnienia systemowe w dół (runevel 0) lub restartuje (tryb 6) Patrz: Wprowadzenie do poziomów pracy .Możesz być w stanie uruchomić aplikację Java na poziomie 2 (rc2.d), ale jako przeszukiwacz będzie potrzebował TCP / IP. Upewnij się, że Twoja usługa sieciowa jest wcześniej dostępna / uruchomiona na poziomie 2. Praca w sieci jest zdecydowanie uruchomiona na poziomie 3.
/etc/init.d
zawiera wszystkie rzeczywiste skrypty start / kill./etc/rcN.d
katalogi zawierają tylko linki do nich, poprzedzone S lub K, aby odpowiednio je uruchomić lub zabić, dla poszczególnych poziomów uruchamiania N.Uruchomiony proces
crond
powinien trwać między wylogowaniami. Może dodaj to do swojego crontab.Uruchomiony proces
nohup
powinien również trwać. Zobacz nohup: uruchom polecenie nawet po wylogowaniu .Domyślnie
myapp.jar
standardowe wyjście trafi do pliku o nazwie./nohup.out
lub$HOME/nohup.out
jeśli tego pierwszego nie można zapisać.źródło
Należy również pamiętać przy tworzeniu aplikacji za pomocą:
Aby mieć uprawnienia 0755 i użyć lub uzyskać przed .sh ścieżką. Załóżmy, że skrypt jest na /root/test.sh, należy najpierw zmienić na płycie
/root/
przed uzyskaniem dostęputest.sh
.Najlepszym sposobem jest utworzenie SH na init.d i tam zmień ścieżkę na swoją
sh
i uruchom ją w funkcji start.źródło
Proste skrypty startowe z funkcją sprawdzania wersji Java dla Linux auth-agent i Windows auth-agent.bat
źródło
Najprostszym sposobem jest użycie
supervisord
. Proszę zobaczyć pełne szczegóły na http://supervisord.org/Możesz również wyświetlić więcej szczegółów tutaj:
Uruchamianie wykonywalnego pliku jar podczas uruchamiania systemu
https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps
źródło