Un servizio è un processo in background che viene eseguito automaticamente all'avvio del sistema. Per gli utenti regolari e in particolare per gli amministratori di sistema, il riavvio di un servizio è un'attività comune di amministrazione del sistema che spesso devi eseguire durante la configurazione delle impostazioni di sistema o l'installazione di una nuova applicazione.
In questo articolo impareremo come riavviare un servizio tramite systemctl su Linux. Systemctl è fondamentalmente un'applicazione di sistema a riga di comando che viene utilizzata per gestire i servizi di sistema e consente di avviare, arrestare, riavviare, abilitare, disabilitare e visualizzare lo stato dei servizi.
Abbiamo utilizzato Debian 10 per eseguire i comandi e le procedure menzionati in questo articolo, ma gli stessi comandi funzioneranno anche su altre distribuzioni come Ubuntu, CentOS o Fedora.
Riavvio di un servizio con Systemctl
Per riavviare un servizio, viene utilizzato Terminale della riga di comando. Per aprire il Terminale, vai alla scheda Attività nell'angolo in alto a sinistra del desktop. Quindi dal menu di ricerca che appare, cerca l'applicazione Terminale e avviala.
Per elencare tutti i servizi abilitati sul tuo sistema, esegui il seguente comando in Terminale:
$ systemctl list-unit-files | grep enabled
Dall'elenco sopra, puoi scoprire il nome esatto del servizio che desideri riavviare utilizzando il comando systemctl.
Per riavviare un servizio in esecuzione (Arresta e quindi avvia), utilizza la seguente sintassi dei comandi in Terminale:
$ sudo systemctl restart [service-name]
Ad esempio, per riavviare il servizio xrdp, sostituisci il parametro "nome-servizio" con il nome esatto del servizio.
Gestisci i servizi con Systemd
Insieme al riavvio del servizio, puoi anche gestire il servizio utilizzando il comando systemctl come start, stop, enable, disable e visualizzando lo stato del servizio.
Per visualizzare lo stato corrente del servizio in esecuzione o meno, utilizzare la seguente sintassi dei comandi in Terminale:
$ systemctl status [service-name]
Per avviare un servizio, utilizzare la seguente sintassi:
$ systemctl start [service-name]
Per interrompere un servizio in esecuzione, utilizza la seguente sintassi:
$ systemctl stop [service-name]
Per consentire a un servizio di avviarsi automaticamente all'avvio, utilizzare la seguente sintassi:
$ systemctl enable [service-name]
Per disabilitare il servizio in modo che non si avvii automaticamente all'avvio, utilizzare la seguente sintassi:
$ systemctl disable [service-name]
Per ricaricare un servizio, utilizza la seguente sintassi:
$ systemctl reload [service-name]
Per ricaricare o riavviare un servizio (ricarica un servizio e nel caso, se la ricarica non è disponibile, riavvia il servizio.)
$ sudo systemctl reload-or-restart [service-name]
Per verificare se il servizio è attivo:
$ sudo systemctl is-active [service-name]
Per verificare se il servizio è abilitato per l'avvio automatico all'avvio del sistema:
$ sudo systemctl is-enabled [service-name]
In questo articolo abbiamo imparato come riavviare un servizio tramite il comando systemctl. Abbiamo anche imparato un altro uso comune del comando systemctl per la gestione dei servizi.