GNU/Linux >> Linux Esercitazione >  >> Linux

Come controllare tutti i servizi in esecuzione in Linux

Quando si utilizza qualsiasi distribuzione Linux, alcuni processi e servizi vengono eseguiti insieme. Alcuni possono essere eseguiti in background anche all'insaputa degli utenti. L'esecuzione di servizi non necessari può consumare gran parte delle risorse di sistema o anche rappresentare un problema di sicurezza se le misure non vengono prese in considerazione.

Pertanto, è necessario conoscere tutti i servizi in esecuzione sul sistema. In questo articolo, esamineremo tutti i possibili modi che puoi utilizzare per elencare i servizi in esecuzione sulla tua macchina Linux.

Come controllare i servizi in esecuzione in Linux

Vediamo prima di tutto una buona comprensione dei servizi Linux. Se un servizio ha un'inizializzazione: script , quindi viene fornito con tre stati:

  • inizia
  • fermati
  • riavvia

Tutti che vengono eseguiti con il – servizio comando. Ad esempio, per riavviare gestore di rete servizio, eseguire il comando seguente:

sudo service network-manager restart

Il comando service fa riferimento a ciascun servizio utilizzando lo script init archiviato in /etc/init.d per Ubuntu e qualsiasi altra distribuzione basata su Debian e etc/rc.d/init.d per le distribuzioni Linux basate su RedHat. Alcuni nomi di servizio variano da una distribuzione all'altra. Ad esempio, il servizio del server web Apache è httpd su CentOS e Apache2 su Ubuntu.

Sistema V(SysV) | Parvenu | Sistema

Molte distribuzioni Linux rientrano nei seguenti sistemi init:

  • Sistema V, che era il sistema di inizializzazione iniziale.
  • Ripartenza
  • systemd, che è l'ultimo sistema di inizializzazione al momento della stesura di questo articolo.

Sistema V (SysV)

System V o comunemente noto come SysV è un vecchio sistema init utilizzato dalle vecchie distribuzioni Linux e risale all'originale Unix. SysV gestisce il processo di avvio utilizzando lo script di shell presente nel file /etc/init*. Nel caso in cui utilizzi /etc/init.d/sshd avviare o interrompere un servizio; quindi stai utilizzando un sistema System V.

Riavvio del sistema di inizializzazione

È un sistema init basato su eventi che fungeva da sostituto del demone /sbin/init. Il sistema init Upstart è stato utilizzato per gestire l'avvio e l'arresto dei servizi durante l'avvio, l'arresto e la supervisione mentre il sistema è in esecuzione. Upstart è stato inizialmente sviluppato per la distribuzione Ubuntu Linux per sostituire il vecchio System V utilizzato in altre vecchie distribuzioni.

Sistemato

È il nuovo sistema init in cui si stanno spostando la maggior parte delle distribuzioni Linux. È stato sviluppato per accelerare il processo di avvio, gestire le dipendenze e molto altro. Nel caso in cui utilizzi systemctl restart sshd avviare o interrompere un servizio, quindi lo stai utilizzando su un sistema Systemd.

Controlla tutti i servizi in esecuzione in un sistema di inizializzazione System V(SysV)

Diamo un'occhiata ad alcuni dei comandi di Terminale che puoi utilizzare per elencare tutti i servizi in esecuzione in un sistema di inizializzazione SysV.

service --status-all

Il comando precedente elenca tutti i servizi in esecuzione nel tuo sistema. Nel caso in cui i servizi in esecuzione siano molti, puoi utilizzare parametri aggiuntivi – more e meno per elencare i servizi in una vista organizzata e chiara.

service --status-all | less
service --status-all | more

Per elencare solo i servizi attualmente in esecuzione sul sistema, eseguire il comando seguente:

service --status-all | grep running

Per visualizzare lo stato di un particolare servizio, eseguire il comando seguente:

service --status-all | grep [service_name]
e.g
service --status-all | grep httpd

In alternativa, puoi eseguire il comando seguente per visualizzare lo stato di un particolare servizio.

service httpd status

Per elencare tutti i servizi abilitati all'avvio, eseguire il comando seguente:

chkconfig --list

Controlla tutti i servizi in esecuzione in un sistema di inizializzazione Upstart

Per elencare tutti i servizi in esecuzione su un sistema Linux che esegue il sistema Upstartinit, eseguire il comando seguente:

initctl list

Controlla tutti i servizi in esecuzione in un sistema di inizializzazione Systemd

Per elencare tutti i servizi in esecuzione su un sistema Linux che esegue Systemd init system, eseguire il comando seguente:

systemctl

Dal comando precedente, vediamo che i dati vengono visualizzati in cinque colonne, ovvero UNIT, LOAD, ACTIVE, SUB e DESCRIZIONE. Diamo un'occhiata a cosa rappresenta ogni colonna:

  • UNIT:mostra il nome dell'unità Systemd corrispondente.
  • LOAD – Questa colonna mostra se l'unità corrente è caricata in memoria o meno.
  • ATTIVO – Questa colonna indica se l'unità è in uso (attiva) o meno.
  • SUB – Descrive lo stato di funzionamento di una particolare unità.
  • DESCRIZIONE – Fornisce una descrizione dettagliata di una particolare unità.

Puoi anche elencare i servizi in esecuzione in base al loro tipo utilizzando il comando seguente:

systemctl list-units --type service

Puoi anche elencare i servizi in base al loro stato attuale. È relativamente simile all'output del comando precedente ma un po' più semplice.

systemctl list-unit-files --type service

Per elencare lo stato di un particolare servizio, eseguire il comando seguente:

systemctl status [service_name]
e.g
systemctl status acpid.path

Per elencare solo i servizi attualmente in esecuzione sul sistema, eseguire il comando seguente:

systemctl | grep running

Per elencare tutti i servizi abilitati nell'avvio, eseguire il comando seguente:

systemctl list-unit-files | grep enabled

Puoi anche visualizzare i gruppi di controllo principali e il relativo utilizzo delle risorse di sistema come I/O, CPU, attività e memoria utilizzando il comando systemd-cgtop.

systemd-cgtop

Possiamo anche usare pstree per elencare tutti i servizi in esecuzione nel sistema. Pstree acquisisce queste informazioni da Systemd uscita di sistema.

pstree

Il pstree può essere utilizzato anche con il sistema System V int. Cattura l'output dal sistema SysVinit.

pstree

Puoi anche usare chkservice utility per controllare tutti i servizi in esecuzione in un sistema Systemd. Non viene preinstallato. Tuttavia, puoi installare tramite Terminale usando il comando seguente:

sudo apt-get install chkservice

Per avviare chkservice, eseguire il comando seguente. Nota, sono necessari i privilegi di superutente.

sudo chkservice

Per vedere tutte le funzionalità di questo fantastico strumento, premi il pulsante [? ] chiave. Apre il menu di aiuto.

Conclusione

Questi sono alcuni dei comandi e delle utilità che puoi utilizzare per controllare tutti i servizi in esecuzione sul tuo sistema Linux. Se hai un comando o uno strumento che non abbiamo discusso in questo post, sentiti libero di farlo sapere ai nostri lettori nella sezione commenti.


Linux
  1. Come controllare la versione del sistema operativo e di Linux

  2. Come controllare il tempo di attività del sistema in Linux

  3. Come controllare la data di installazione del tuo sistema operativo Linux?

  4. Come verificare se il sistema Linux è in esecuzione su un sistema fisico o una macchina virtuale?

  5. Come controllare la versione di MySQL in Linux

Come controllare la complessità della password in Linux

Come controllare il runlevel in Linux

Come elencare i servizi su Linux

Come utilizzare il comando fd sul sistema Linux

Come controllare tutte le porte aperte nel tuo sistema Linux

Come controllare la versione PHP su Linux