Sposób uruchamiania usług jest bardzo zależny od dystrybucji Linuksa. Poinformuj nas, co próbujesz osiągnąć (i jakie dystrybucje, a może środowisko pulpitu), ponieważ obecnie myślę, że prawdopodobnie nie myślisz dobrze o tym problemie.
Xenoterracide
Odpowiedzi:
23
Aby uruchomić usługę bez lub przed zalogowaniem się do systemu (tj. „Podczas rozruchu”), musisz utworzyć skrypt startowy i dodać go do sekwencji rozruchowej.
Skrypt serwisowy składa się z trzech części: start, stop i restart.
Podstawowa struktura skryptu usługi to:
Po dostosowaniu skryptu do własnych upodobań, po prostu umieść go w /etc/init.d/
I dodaj go do procesu uruchamiania usługi systemowej (w Fedorze nie jestem użytkownikiem Ubuntu,> D):
chkconfig -add <ServiceName>
Usługa zostanie dodana do procesu uruchamiania systemu i nie będziesz musiał ręcznie jej ponownie uruchamiać.
Zauważ, że podczas uruchamiania, zatrzymywania i restartowania zwykle wystarczają proste skrypty inicjujące. Prawdopodobnie chcesz również dołączyć akcję „status”, która jest łatwa w Debianie i innych dystrybucjach, które zawierają status_of_proc () w pakiecie funkcji init. Dobrze zarządzane pakiety będą zawierać wszystkie funkcje wymagane przez LSB ( refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/… ). Skrypt inicjujący dystrybuowany wraz z tomcat w Ubuntu zawiera wszystkie te akcje, prawdopodobnie warto po prostu tego użyć.
Steven D
19
W zależności od systemu init skrypt inicjujący tworzy się inaczej. Fedora daje możliwość wyboru i system do wyboru, i oczywiście kompatybilność z SysV.
Dorobkiewicz
utwórz plik definicji usługi jako /etc/init/custom-tomcat.conf
włóż do środka:
start on stopped rc RUNLEVEL=3
respawn
exec /path/to/your/tomcat --and --parameters
Twój Tomcat powinien uruchomić się przy starcie systemu.
Systemd
utwórz definicję usługi w /etc/systemd/system/custom-tomcat.service
Tomcat jest dość powszechną usługą, polecam przejrzenie skryptu inicjującego dostarczonego już przez dystrybucję. Możliwe, że działa z Twoim spersonalizowanym plikiem binarnym, bez drobnych poprawek.
Jeśli masz crondemona, jednym z predefiniowanych haków czasu cron jest @reboot, który naturalnie działa podczas uruchamiania systemu. Uruchom, crontab -eaby edytować crontabplik i dodaj wiersz:
Czy dotyczy to wszystkich startupów, czy po prostu restartuje?
WhyNotHugo
Dotyczy TYLKO fcron - nie vixie-cron ani żadnego innego AFAIK cron.
Maciej Piechotka,
@Maciej Zdecydowanie działa dla vixie-cron; tego używam
Michael Mrozek
@Hugo Wszystkie startupy
Michael Mrozek
6
Aby po prostu uruchomić skrypt po uruchomieniu komputera, ale zanim użytkownik się zaloguje, możesz po prostu edytować skrypt /etc/rc.local, który ma dokładnie rozwiązać to zadanie.
Odpowiedzi:
Aby uruchomić usługę bez lub przed zalogowaniem się do systemu (tj. „Podczas rozruchu”), musisz utworzyć skrypt startowy i dodać go do sekwencji rozruchowej.
Skrypt serwisowy składa się z trzech części: start, stop i restart.
Podstawowa struktura skryptu usługi to:
Po dostosowaniu skryptu do własnych upodobań, po prostu umieść go w /etc/init.d/
I dodaj go do procesu uruchamiania usługi systemowej (w Fedorze nie jestem użytkownikiem Ubuntu,> D):
Usługa zostanie dodana do procesu uruchamiania systemu i nie będziesz musiał ręcznie jej ponownie uruchamiać.
Twoje zdrowie!
źródło
W zależności od systemu init skrypt inicjujący tworzy się inaczej. Fedora daje możliwość wyboru i system do wyboru, i oczywiście kompatybilność z SysV.
Dorobkiewicz
/etc/init/custom-tomcat.conf
włóż do środka:
Twój Tomcat powinien uruchomić się przy starcie systemu.
Systemd
/etc/systemd/system/custom-tomcat.service
włóż do środka:
i włącz swoją usługę za pomocą
systemctl enable custom-tomcat.service
. Będzie uruchamiany przy każdym normalnym rozruchu.Oczywiście istnieje kilka dodatkowych opcji konfiguracji dla obu systemów inicjujących, możesz je sprawdzić w ich dokumentacji.
źródło
Tomcat jest dość powszechną usługą, polecam przejrzenie skryptu inicjującego dostarczonego już przez dystrybucję. Możliwe, że działa z Twoim spersonalizowanym plikiem binarnym, bez drobnych poprawek.
źródło
Jeśli masz
cron
demona, jednym z predefiniowanych haków czasu cron jest@reboot
, który naturalnie działa podczas uruchamiania systemu. Uruchom,crontab -e
aby edytowaćcrontab
plik i dodaj wiersz:źródło
Aby po prostu uruchomić skrypt po uruchomieniu komputera, ale zanim użytkownik się zaloguje, możesz po prostu edytować skrypt /etc/rc.local, który ma dokładnie rozwiązać to zadanie.
źródło
Możesz stworzyć bardziej wyrafinowany skrypt, który pozwala na uruchamianie z uprawnieniami określonego użytkownika, w następujący sposób:
Skrypt przechodzi do /etc/init.d/myservice, a usługa jest uruchamiana przez wykonanie:
Przeczytaj stronę podręcznika start-stop-daemon, aby zrozumieć, jak to działa.
źródło
W Ubuntu lub Debian, jak możesz użyć, aby dodać
usuwać
PA! \ o
miło jest implementować status funkcji i wymuszać ponowne ładowanie, aby były zgodne z LSB
źródło
service --status-all
liście?