Odpowiedzi:
W Debianie należy umieścić skrypty uruchamiania i zamykania aplikacji i usług /etc/init.d/.
Debian udostępnia przykładowy skrypt /etc/init.d/skeleton, który możesz zmodyfikować według własnych upodobań.
Gdy jest na miejscu, zadzwoń:
# update-rc.d YOURAPP defaults
Aby Debian dodał /etc/rc?.d/dla ciebie dowiązania symboliczne.
Jeśli wolisz menu lub interfejs graficzny, spójrz na pakiet sysv-rc-conflub ksysv.
Możesz wywołać swój skrypt z /etc/rc.local , przed wierszem z informacją o wyjściu 0
Jeśli chodzi o zamykanie aplikacji, sugerowałbym umieszczenie skryptu w /etc/rc0.d . Musisz nazwać go wielką literą K , a następnie dwucyfrową liczbą, która określa kolejność uruchamiania tych skryptów, a następnie nazwę. Zostanie wywołany z parametrem „stop”, ale można to zignorować w przypadku prostego skryptu zatrzymania.
Na początek spójrz na to .
Aby zamknąć system, utwórz link / skopiuj skrypt do jednego z folderów /etc/rcX.d, gdzie X jest poziomem uruchomieniowym, w którym chcesz go uruchomić. 0 to poziom zamknięcia systemu Debian.
Najłatwiej jest zmodyfikować istniejące skrypty, działa w moim systemie, używane do dźwięków :)
/etc/init.d/rc.local, dodanie sh na końcu pliku, przed: (wykona go tuż przed „ekranem” logowania)/etc/init.d/halt, dodaj sh na początku pliku, zaraz po początkowych komentarzach (zostanie on wykonany przed właściwym poleceniem zamknięcia, które jest wywoływane przez ten plik skryptu/etc/init.d/rebootOd Debiana Jessie stary initprogram został zastąpiony przez systemd!
Sprawdź to sam. Uruchom: ls -l /sbin/initi zobacz, na co to wskazuje. Obecnie wskazuje na systemd( /sbin/init -> /lib/systemd/systemd), nowszy i lepszy program inicjalizacyjny.
TAK WYBRANE I INNE ODPOWIEDZI TUTAJ SĄ TERAZ NIEAKTUALIZOWANE !!!
* Chociaż nadal można instalować skrypty w stary sposób za pomocą narzędzi System-V, ogólnie nie jest to dobry pomysł.
man systemd.service mówi:*
Jeśli żądana jest usługa pod określoną nazwą, ale nie znaleziono pliku konfiguracyjnego jednostki, systemd szuka skryptu inicjującego SysV o tej samej nazwie ... i dynamicznie tworzy jednostkę usługową z tego skryptu. Jest to przydatne ze względu na zgodność z SysV. Należy pamiętać, że ta kompatybilność jest dość obszerna, ale nie w 100%.
To łatwiejsze niż myślisz. (-:
Oto nowa i preferowana metoda instalowania programów rozruchowych lub zamykających.
Ze systemdnajpierw chcesz utworzyć plik jednostkową . Plik jednostkowy to głównie deklaracje, a nie kod.
Następnie użyjesz systemctlpolecenia, aby włączyć lub uruchomić tę jednostkę.
systemdwykonuje dla ciebie większość pracy, ułatwiając na przykład automatyczne uruchamianie krytycznego programu, jeśli ulegnie awarii lub zostanie zabity w inny sposób. Również zamyka twój program gdzie i kiedy powinien domyślnie, bez dodatkowej pracy z twojej strony.
Zacznij uczyć się systemdtutaj:
Z Debiana i gdzie indziej i itp i itd .
Strony podręcznika na początek:
man systemd.unit - Informacje o plikach jednostek ogólnie
man systemd.service - Informacje o plikach jednostek serwisowych, np. Demony i programy uruchamiane pojedynczo.
man systemctl - Interfejs użytkownika wiersza poleceń
man journalctl- Zobacz dziennik tego, co zrobił systemd
man systemd - O samym programie init
Istnieje również wiele innych rodzajów plików jednostkowych, np
man systemd.target - dla grup i wspólnych zsynchronizowanych celów.
Po zapoznaniu się z powyższymi informacjami podstawowymi, zacznij od, man -k systemdaby znaleźć inne powiązane strony podręcznika man.
Cokolwiek robisz, na Debianie nie używaj żadnego z tych :
update-rc.d - zainstaluj i usuń linki skryptów inicjujących w stylu System-Vsysv-rc-conf - Konfiguracja poziomu uruchamiania dla SysV, taka jak linki skryptu inicjującegorunlevel - Wydrukuj poprzedni i bieżący poziom pracy SysVBUM- B oot U p M anager - graficzny edytor poziomów pracysystemadm- Graficzny interfejs dla systemowego menedżera systemu i usług Ten plik jednostki uruchamia demona NoIP.com podczas uruchamiania i wyłącza go po wyłączeniu.
Ten demon, od czasu do czasu, wysyła mój aktualny adres IP zaktualizować DDNS ( D ynamic DNS ( D omain N ame S erwerze)) bazę danych, w ten sposób utrzymując moja domena wskazując na moim komputerze, gdziekolwiek ona podróżuje do.
Pliki tego urządzenia znajdują się w moim systemie w tym pliku ustawień: /etc/systemd/system/noip2.service
Oto, co znajduje się w pliku jednostki:
# Comments can only go at the beginning of the line!
[Unit]
Description=Start the NoIP IP update daemon. This runs every 30 minutes and reports our current IP to NoIP.com to update Love2d.ddns.net.
Documentation=https://no-ip.com/
Documentation=file:///nobak/Installers/NoIP/noip-2.1.9-1/README.FIRST
[Service]
# 'forking' because process returns after starting daemon (traditional unix daemon).
Type=forking
# This program runs and returns, leaving the running daemon
ExecStart=/usr/local/bin/noip2
# Be in no hurry to start this. Max nice is +19.
Nice=15
# If it dies for any reason, then restart it
Restart=always
[Install]
# Installs a hook to use this unit file when the system boots or shuts down
WantedBy=multi-user.target
Ręcznie uruchom plik jednostki (np. W celu przetestowania):
$ sudo systemctl start noip2. $ sudo systemctl restart noip2. $ sudo systemctl stop noip2. Skonfiguruj system, aby automatycznie uruchamiał plik jednostki podczas uruchamiania lub zamykania:
$ sudo systemctl enable noip2. $ sudo systemctl disable noip2.Wyświetl dziennik
$ sudo journalctl -u noip2