Dal momento che il System V viene gradualmente eliminato, molto probabilmente è necessario imparare ad andare d'accordo con SYSTEMD che è molto più potente. Ad esempio, una funzione utile è riavviare automaticamente i servizi che si interrompono da soli. Tali funzionalità si trovano ad esempio in BluePill ecc. Con Systemd non è necessario utilizzare tale watchdog aggiuntivo. Ecco alcune informazioni molto basilari su come creare un nuovo servizio chiamato "unità" sotto Systemd in Linux.
Systemd ha i suoi file di configurazione in:/etc/systemd/
In questo esempio creerò un file di configurazione Systemd per un semplice servizio chiamato istatd che dovrebbe avviare il singolo demone con il comando:/usr/local/bin/istatd -d
Per creare un servizio che solo root può operare, è necessario creare il suo nuovo file di configurazione come:/etc/systemd/system/istatd.service touch /etc/systemd/system/istatd.service
chmod 644 /etc/systemd/system/istatd.service
Contenuto: [Unit]
Description=IStad iPhone monitoring service
#
[Service]
Type=forking
ExecStart=/usr/local/bin/istatd -d
ExecStop=/usr/bin/killall istatd
Restart=on-failure
RestartSec=3
#
[Install]
WantedBy=default.target
Questo file di configurazione per l'unità istatd avvierà/fermerà il demone e lo riavvierà se si ferma da solo 3 secondi dopo che è stato rilevato dal watchdog della sua scomparsa dall'elenco dei processi.
Per attivare la nuova configurazione e avviare il servizio esegui:systemctl daemon-reload
service istatd start
Possibili comandi per start/stop/restart/status e debugging sono:systemctl {start|stop|restart|status} istatd
OR
service istatd {start|stop|restart|status}
Per il debug di Systemd usa il comando:journalctl -xn
Dopo qualsiasi modifica a qualsiasi file di configurazione di Systemd è necessario eseguire il comando:systemctl enable istatd
systemctl daemon-reload
Per ulteriori informazioni su come funziona Systemd e su come creare i suoi file di configurazione, vedere:
http://patrakov.blogspot.de/2011/01/writing-systemd-service-files.html
e
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html
Alcuni altri comandi utili:
Elimina completamente un servizio: systemctl stop [servicename]
systemctl disable [servicename]
systemctl daemon-reload
systemctl reset-failed