Come elencare tutti i servizi in esecuzione in Systemd in Linux

I sistemi Linux forniscono una varietà di servizi di sistema (come la gestione dei processi, login, syslog, cron, ecc.) E servizi di rete (come accesso remoto, posta elettronica, stampanti, web hosting, archiviazione dati, trasferimento file, risoluzione del nome di dominio (tramite DNS), assegnazione di indirizzi IP dinamici (tramite DHCP) e molto altro).

Tecnicamente, a servizio è un processo o un gruppo di processi (comunemente noti come demoni) in esecuzione continuamente in background, in attesa di richieste in arrivo (soprattutto dai client).

Linux supporta diversi modi di gestire (avvio, arresto, riavviare, abilitare lavvio automatico allavvio del sistema, ecc.), in genere tramite un processo o un gestore di servizi. La maggior parte, se non tutte le distribuzioni Linux moderne, ora utilizzano lo stesso gestore di processi: systemd.

Leggi anche: La storia dietro “init” e “systemd”: Perché “init” doveva essere sostituito con “systemd” in Linux

Systemd è un gestore di sistemi e servizi per Linux; un sostituto immediato per il processo init, che è compatibile con gli script init SysV e LSB e il comando systemctl è lo strumento principale per gestire systemd.

In questa guida, dimostreremo come elencare tutti i servizi in esecuzione in systemd in Linux.

Elenco dei servizi in esecuzione in SystemD in Linux

Quando esegui il comando systemctl senza argomenti, verrà visualizzato un elenco di tutte le unità systemd caricate (leggi la documentazione di systemd per maggiori informazioni sulle unità systemd) inclusi i servizi, mostrando il loro stato (se attivo o non).

# systemctl 

Per elencare tutti i servizi caricati sul tuo sistema (attivi; in esecuzione, terminati o non riusciti, usa il sottocomando list-units e --type switch con un valore di servizio.

# systemctl list-units --type=serviceOR# systemctl --type=service
Elenca tutti i servizi in Systemd

E per elencare tutti i servizi caricati ma attivi, sia in esecuzione che quelli che sono usciti, puoi aggiungere lopzione --state con un valore di attivi, come segue.

# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Elenco Tutti i servizi in esecuzione attivi in Systemd

Ma per dare una rapida occhiata a tutti i servizi in esecuzione (cioè tutti i servizi caricati e in esecuzione attiva), eseguire il comando seguente.

# systemctl list-units --type=service --state=running OR# systemctl --type=service --state=running
Elenca i servizi in esecuzione in Systemd

Se usi spesso il comando precedente, puoi creare un comando alias nel tuo file ~ / .bashrc come mostrato, per richiamarlo facilmente.

# vim ~/.bashrc

Quindi aggiungi la seguente riga sotto lelenco di alias come mostrato nello screenshot.

alias running_services="systemctl list-units --type=service --state=running"
Crea un alias per comando lungo

Salva le modifiche nel file e chiudilo. E dora in poi, utilizza il comando “running_services” per visualizzare un elenco di tutti i servizi caricati e attivi sul tuo server.

# running_services#use the Tab completion 
Visualizza tutti i servizi in esecuzione

Inoltre, un aspetto importante dei servizi è la porta che usano. Per determinare la porta su cui è in ascolto un processo daemon, puoi usare netstat o ss come mostrato.

Dove il flag -l significa stampa tutti i socket in ascolto, -t mostra tutte le connessioni TCP, -u mostra tutte le connessioni UDP, -n significa stampare numeri di porta numerici (invece dei nomi delle applicazioni) e -p significa mostrare il nome dellapplicazione.

# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd

Il la quinta colonna mostra il socket: Local Address: Port. In questo caso, il processo zabbix_agentd è in ascolto sulla porta 10050.

Determina la porta del processo

Inoltre, se il tuo server ha un servizio firewall in esecuzione, che controlla come bloccare o consentire il traffico da o verso servizi o porte selezionati, è possibile elencare i servizi o le porte che sono stati aperti nel firewall, utilizzando il comando firewall-cmd o ufw (a seconda delle distribuzioni Linux in uso) come mostrato.

# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status 
Elenca porte e servizi aperti su firewall

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *