Systemd: creazione Servizi per Debian (8.* +)
Updated at: 16/02/2018


Da Debian Jessie si può utilizzare systemd per la creazione di servizi.

Occore creare un file di definizione servizio nella cartella /etc/systemd/system, ad esempio NomeServizio.service.

NomeServizio.service
[Unit]
Description=Servizio generico di esempio
After=network.target

[Service]
Type=simple
ExecStart=/path/to/service --option=123
Restart=always

[Install]
WantedBy=multi-user.target

I principali campi da settare sono i seguenti:

  • After: definisce quali servizi devono essere correttamente avviati per procedere  all'avvio di questo
  • Type: selettore per definire la modalità di avvio del servizio. Simple indica che il comando definito in ExecStart genera direttamente il processo del servizio (è il servizio, non un loader del servizio)
  • ExecStart: comando di avvio del servizio
  • ExecStop: comando di arresto del servizio. In caso di Type=simple, non è necessario definirlo
  • Restart: definisce le modalità di riavvio automatico del servizio
  • WantedBy: Indica prima di quali servizi deve essere avviato il servizio corrente


Installazione e avvio servizio

per abilitare/disabilitare l'esecuzione all'avvio del servizio eseguire i seguenti comandi:

systemctl enable NomeServizio.service
systemctl disable NomeServizio.service
mentre per avviare o fermare il servizio, usare i comandi seguenti:

systemctl start NomeServizio.service
systemctl stop NomeServizio.service

NB: se un servizio è impostato con Restart=always il comando di stop è l'unico modo per inibire il riavvio automatico.


Documentazione