Il ps
command, abbreviazione di Process Status, è un'utilità della riga di comando utilizzata per visualizzare o visualizzare informazioni relative ai processi in esecuzione in un sistema Linux .
Come tutti sappiamo, Linux è un sistema multitasking e multiprocessing. Pertanto, più processi possono essere eseguiti contemporaneamente senza influenzarsi a vicenda.
Il comando ps elenca i processi in esecuzione correnti insieme ai loro PID e altri attributi. In questa guida, ci concentreremo sull'utilizzo del comando ps.
Recupera le informazioni sui processi dai file virtuali che si trovano nel file system /proc
Comando ps senza argomenti
Il comando ps senza argomenti elenca i processi in esecuzione nella shell corrente
ps
Risultato
L'output è composto da quattro colonne
PID
– Questo è l'ID processo univoco
TTY
– Questo è il tipo di terminale a cui l'utente ha effettuato l'accesso
TIME
– Questo è il tempo in minuti e secondi in cui il processo è stato eseguito
CMD
– Il comando che ha avviato il processo
Visualizzazione di tutti i processi in esecuzione in diversi formati
Per dare un'occhiata a tutti i processi in esecuzione, esegui il comando seguente
ps -A
Risultato
o
ps -e
Risultato
Visualizza i processi associati al terminale
Per visualizzare i processi associati all'esecuzione del terminale
ps -T
Risultato
Visualizza processi non associati al terminale
Per visualizzare tutti i processi ad eccezione dei processi associati al terminale e ai leader di sessione
esegui
ps -a
Un leader di sessione è un processo che avvia altri processi
Risultato
Mostra tutti i processi in esecuzione
Per visualizzare tutti i processi correnti esegui
ps -ax
Risultato
-a
flag sta per tutti i processi-x
visualizzerà tutti i processi anche quelli non associati alla tty corrente
Visualizza tutti i processi in formato BSD
Se desideri visualizzare i processi in formato BSD, esegui
ps au
O
ps aux
Risultato
Per eseguire l'elenco in formato completo
Per visualizzare un elenco in formato completo, esegui
ps -ef
O
ps -eF
Risultato
Filtra i processi in base all'utente
Se desideri elencare i processi associati a un utente specifico, usa il -u
contrassegna come mostrato
ps -u user
Ad esempio
ps -u jamie
Risultato
Filtra processo per processo thread
Se desideri conoscere il thread di un particolare processo, usa il -L
flag seguito dal PID
Ad esempio
ps -L 4264
Risultato
Mostra tutti i processi in esecuzione come root
A volte, potresti voler rivelare tutti i processi eseguiti dall'utente root. Per raggiungere questa corsa
ps -U root -u root
Risultato
Visualizza processi di gruppo
Se desideri elencare tutti i processi associati a un determinato gruppo eseguito
ps -fG group_name
Oppure
ps -fG groupID
Ad esempio
ps -fG root
Risultato
PID processo di ricerca
È probabile che di solito non conosca il PID di un processo. Puoi cercare il PID di un processo
eseguendo
ps -C process_name
Ad esempio
ps -C bash
Risultato
Elenco dei processi per PID
Puoi visualizzare i processi in base al loro PID come mostrato
ps -fp PID
Ad esempio
ps -fp 1294
Risultato
Per visualizzare la gerarchia dei processi in un diagramma ad albero
Di solito, la maggior parte dei processi viene biforcuta dai processi padre. Conoscere questa relazione genitore-figlio
può tornare utile. Il comando seguente cerca i processi con il nome apache2
ps -f --forest -C bash
Risultato
Visualizza i processi figlio di un processo padre
Ad esempio, se desideri visualizzare tutti i processi biforcati appartenenti ad apache, esegui
ps -o pid,uname,comm -C bash
Risultato
Il primo processo, di proprietà di root, è il processo principale di apache2 e il resto dei processi
è stato biforcato da questo processo principale
Per visualizzare tutti i processi figlio di apache2 utilizzando il pid del processo principale di apache2 esegui
ps --ppid PID no.
Ad esempio
ps --ppid 1294
Risultato
Visualizza thread di processo
Il comando ps può essere utilizzato per visualizzare i thread insieme ai processi.
Il comando seguente mostra tutti i thread di proprietà del processo con PID pid_no
ps -p pid_no -L
Ad esempio
ps -p 1294 -L
Risultato
Visualizza un elenco selezionato di colonne
Puoi usare il comando ps per visualizzare solo le colonne che ti servono.
Ad esempio ,
ps -e -o pid,uname,pcpu,pmem,comm
Il comando precedente visualizzerà solo le colonne PID, nome utente, CPU, memoria e comando
Risultato
Rinominare le etichette delle colonne
Per rinominare le etichette delle colonne, esegui il comando seguente
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
Risultato
Visualizza il tempo trascorso dei processi
Il tempo trascorso si riferisce al tempo di esecuzione del processo
ps -e -o pid,comm,etime
Risultato
L'opzione -o abilita la colonna per il tempo trascorso
Utilizzo del comando ps con grep
il comando ps può essere utilizzato con il comando grep per cercare un processo particolare
Ad esempio
ps -ef | grep systemd
Risultato