Gestire i demoni in ambiente Linux
In ambiente Linux, sono definiti Demoni quei programmi eseguiti in background, in attesa che venga richiesto, in locale o in remoto, un certo servizio da loro offerto. Un ottimo esempio di demone è quello del server SSH che rimane in ascolto sulla porta 21 in attesa che qualcuno richieda di effettuare il login.
In molte circostanze, soprattutto quando sia necessario modificare il file di configurazione, è necessario riavviare tali demoni al fine di rendere operative le modifiche effettuate. Di seguito alcuni ordini da impartire per gestire questi programmi.
Gestire i demoni in ambiente DEBIAN:
Avviare, riavviare o fermare un servizio fornito da un demone in ambiente debian è piuttosto semplice, è necessario utilizzare il comando service seguito dal nome del servizio (demone), seguito a sua volta dall’ordine start, stop o restart:
# service <nome-servizio> <ordine>
esempio:
# service network-manager restart
# service network-manager start $sudo service network-manager stop
I file dei servizi eseguiti in background sono immagazzinati nella directory /etc/init.d/, visualizzare il contenuto della directory tramite il seguente comando:
$ ls /etc/init.d
Gestire i demoni in ambiente ARCHLINUX
In ambiente Arch è necessario utilizzare systemd, il gestore di sistema e dei servizi di Linux; utile per gestire servizi (.service
), punti di montaggio (.mount
), dispositivi (.device
) oppure i sockets (.socket
).
I comandi da impartire sono i seguenti:
Analizzare lo stato del sistema
Lista della unità attive:
$ systemctl
oppure:
$ systemctl list-units
Lista delle unità che hanno avuto problemi:
$ systemctl --failed
I file delle unità disponibili possono essere visti in /usr/lib/systemd/system/
e /etc/systemd/system/
(questi ultimi hanno la precedenza sui primi). Si possono vedere le unità installate con:
$ systemctl list-unit-files
Usare le unità: avviare, riavviare, fermare
Attivare, fermare, e riavviare immediatamente una unità:
# systemctl start <unit>
# systemctl stop <unit>
# systemctl restart <unit>
Attivare o disattivare l’avvio automatico al boot:
# systemctl enable <unit>
# systemctl disable <unit>
Chiedere ad una unità di ricaricare la sua configurazione:
# systemctl reload <unit>
Mostrare lo stato di una unità, compreso se sta funzionando o no:
$ systemctl status <unit>
Controllare se una unità è già attivata o no:
$ systemctl is-enabled <unit>
Mostra la pagina del manuale associata a una unità (non supportato dai files .unit):
$ systemctl help <unit>
Ricaricare systemd, controllo per nuove o modificate unità:
# systemctl daemon-reload