Distribuzioni Linux principali usano tutti Systemd, un sistema di inizializzazione che funziona in base all’abilitazione e alla disabilitazione dei file”di servizio”. Se stai cercando di elencare questi file di servizio ma non sai come farlo, dovrai utilizzare il comando systemctl .
In questa guida, esamineremo i vari modi in cui puoi elencare i file del servizio Systemd su Linux. Per iniziare, assicurati di utilizzare un sistema operativo Linux con Systemd. Quindi, apri una finestra di terminale e segui.
Usa Systemd per elencare i servizi attivi
Se stai usando molto Systemd, a un certo punto potresti voler sapere quali servizi sono attivi mentre il tuo sistema Linux è avviato. Elencare i servizi attivi è molto semplice e puoi farlo con il comando systemctl –type=service systemctl –type=service –state=running .
Questo comando, una volta eseguito, mostrerà una tabella di tutti i servizi, se attivi, oltre ad una breve descrizione. Per eseguire questo programma, apri una finestra di terminale . Una volta aperta la finestra del terminale, esegui il comando seguente.
systemctl--type=service--state=running
Se stai cercando di filtrare tutti i servizi attivi per un particolare servizio, esaminare questa tabella di grandi dimensioni può essere piuttosto noioso. Per fortuna, il comando systemctl può essere combinato con il comando grep come meccanismo di filtraggio.
Ad esempio, per verificare se”snapd.service”è in esecuzione e caricato, è possibile eseguire systemctl –type=service –state=running | grep”snapd” e l’output mostrerà solo il servizio Snapd, invece dell’intera tabella.
systemctl--type=service--state=running | grep"snapd"
Se desideri salvare l’output della tabella in un file di testo per utilizzarlo in seguito, utilizza il seguente comando.
systemctl--type=service--state=runningrunning> ~/active-services.txt
Per visualizzare il file di testo in qualsiasi momento, esegui il comando cat di seguito.
cat ~/active-services.txt
Usa Systemd per elencare i servizi inattivi
Elencare i servizi Systemd attivi è utile, ma per quanto riguarda quelli inattivi? Sì, è possibile elencare anche quelli. Ecco come. Innanzitutto, apri una finestra di terminale.
Una volta che la finestra del terminale è aperta e pronta per l’uso, esegui il comando systemctl –type=service ma nello slot –state=, inserisci”inactive”anziché”in esecuzione.”In questo modo, puoi vedere quali servizi Systemd sono inattivi sul tuo sistema Linux.
systemctl--type=service--state=inactive
Come con i servizi attivi, Systemd creerà una bella tabella ordinata e ti mostrerà quali servizi Systemd sono inattivi, morti e non in uso. Se desideri filtrare questa tabella per scoprire se un servizio specifico è guasto, puoi combinarlo con il comando grep .
Ad esempio, per determinare se il file”updatedb.service”è inattivo, puoi combinare systemctl –type=service –state=inactive con il comando grep di seguito per cercarlo nella tabella.
systemctl--type=service--state=inactive | grep"updatedb.service"
Se è necessario salvare tutti i file del servizio Systemd inattivi in un file di testo per leggerli in un secondo momento, utilizzare il seguente comando.
systemctl--type=service--state=inactive> ~/inactive-services.txt
Per leggere questo file di testo direttamente dalla finestra del terminale, utilizza il comando cat .
cat ~/inactive-services.txt
Usa Systemd per elencare tutti i servizi installati
Se hai bisogno di vedere tutti i servizi Systemd installati, attivi o meno, dovrai utilizzare il comando systemctl list-unit-files –type=service ed escludere il –state opzione della riga di comando. Escludendo –state , Systemd sarà in grado di elencare con facilità ogni file di servizio sul tuo computer.
systemctl list-unit-files--type=service
Una volta eseguito il comando precedente, Systemd stamperà una tabella con ogni file di servizio sul sistema. Da qui, puoi ordinare la tabella per trovare il file di servizio di cui hai bisogno.
Se non riesci a trovare un file di servizio specifico, puoi combinare il comando systemctl list-unit-files –type=service con il comando grep per utilizzare un filtro. Utilizzando il comando seguente, filtra la tabella per trovare il file di servizio di cui hai bisogno.
systemctl list-unit-files--type=service | grep"my-service"
Vuoi esportare tutti i servizi Systemd in un file di testo da leggere in seguito? Esegui il seguente comando.
systemctl list-unit-files--type=service> ~/service-files.txt
Puoi visualizzare il file di testo in qualsiasi momento con il comando cat di seguito.
cat ~/service-files.txt
Utilizza Systemd per visualizzare lo stato del singolo servizio
Sebbene sia utile sapere come elencare tutti i servizi Systemd, quelli attivi e inattivi, è anche utile sapere come elencare lo stato dei servizi individualmente. Ecco come farlo.
Per prima cosa, apri una finestra di terminale. Una volta aperta la finestra del terminale, utilizza il comando systemctl status su un particolare servizio. Ad esempio, per trovare lo stato di”NetworkManager.service”, viene eseguito il seguente comando.
systemctl status NetworkManager
Se desideri esportare l’output del comando status in un file di testo per una lettura successiva, puoi inserire il comando seguente.
systemctl status MyService> ~/MyService-status.txt
Per visualizzare questo file, eseguire il seguente comando cat .
cat ~/MyService-status.txt