In Linux, un demone è un processo che viene eseguito in background senza il coinvolgimento diretto dell'utente. I demoni fanno parte del sistema operativo e forniscono una serie di funzioni come i servizi di rete, i servizi del disco, i servizi di stampa, ecc.
Di solito vengono eseguiti all'avvio del sistema e rimangono attivi in background fino allo spegnimento del sistema. Non hanno un'interfaccia diretta con l'utente e sono solitamente gestiti tramite file di configurazione o comandi da riga di comando.
I demoni Linux hanno solitamente un nome che termina con "d", come httpd, named e sshd. Vengono avviati con comandi speciali come systemctl
, service
o daemon
. Sono una parte importante del sistema operativo Linux, in quanto assicurano che vari servizi e applicazioni siano funzionanti e in esecuzione in background.
I demoni in Linux possono essere avviati in diversi modi. Vediamo i metodi più comuni per avviarli.
Il comando service
può essere utilizzato per avviare, arrestare e riavviare i demoni sui sistemi Linux che utilizzano script di avvio. Ad esempio, per avviare il demone Apache HTTP Server, si deve eseguire il seguente comando:
sudo service apache2 start
Il comando systemctl
viene utilizzato per gestire i demoni sui sistemi Linux che utilizzano systemd
. Ad esempio, per avviare il demone SSH, è necessario eseguire il seguente comando:
sudo systemctl start sshd
In alcune distribuzioni Linux, i demoni possono essere avviati tramite script init, che si trovano nella cartella /etc/init.d
. Ad esempio, per avviare il demone MySQL, è necessario eseguire il seguente comando:
sudo /etc/init.d/mysql start
Sui sistemi Linux che utilizzano systemd
, si consiglia di utilizzare i file di unità per eseguire i demoni. I file di unità sono file di testo che contengono una descrizione del servizio o del processo da avviare sul sistema. Specificano i parametri per l'avvio del demone, come utente, gruppo, directory di lavoro, comando di avvio e altre opzioni.
I file delle unità sono memorizzati nella directory /etc/systemd/system/
. In questa directory è possibile creare i propri file di unità o modificare quelli esistenti. Dopo aver creato o modificato un file di unità, è necessario riavviare systemd
usando il comando systemctl daemon-reload
perché le modifiche abbiano effetto.