GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Ps in Linux (Elenca processi)

In Linux, un'istanza in esecuzione di un programma è chiamata processo. Occasionalmente, quando si lavora su una macchina Linux, potrebbe essere necessario scoprire quali processi sono attualmente in esecuzione.

Esistono numerosi comandi che puoi utilizzare per trovare informazioni sui processi in esecuzione, con ps , pstree e top essendo quelli più comunemente usati.

Questo articolo spiega come utilizzare ps comando per elencare i processi attualmente in esecuzione e visualizzare le informazioni su tali processi.

Come utilizzare ps Comando #

La sintassi generale per ps il comando è il seguente:

ps [OPTIONS]

Per motivi storici e di compatibilità, il ps comando accetta diversi tipi di opzioni:

  • Opzioni di stile UNIX, precedute da un singolo trattino.
  • Opzioni di stile BSD, utilizzate senza trattino.
  • Opzioni lunghe GNU, precedute da due trattini.

È possibile combinare diversi tipi di opzioni, ma in alcuni casi particolari possono verificarsi conflitti, quindi è meglio utilizzare un solo tipo di opzione.

Le opzioni BSD e UNIX possono essere raggruppate.

Nella sua forma più semplice, se utilizzato senza alcuna opzione, ps stamperà quattro colonne di informazioni per almeno due processi in esecuzione nella shell corrente, la shell stessa e i processi in esecuzione nella shell quando è stato invocato il comando.

ps

L'output include informazioni sulla shell (bash ) e il processo in esecuzione in questa shell (ps , il comando che hai digitato):

  PID TTY          TIME CMD
 1809 pts/0    00:00:00 bash
 2043 pts/0    00:00:00 ps

Le quattro colonne sono etichettate PID , TTY , TIME e CMD .

  • PID - L'ID del processo. Di solito, quando si esegue ps comando, l'informazione più importante che l'utente sta cercando è il PID del processo. Conoscere il PID consente di interrompere un processo malfunzionante.
  • TTY - Il nome del terminale di controllo per il processo.
  • TIME - Il tempo CPU cumulativo del processo, mostrato in minuti e secondi.
  • CMD - Il nome del comando utilizzato per avviare il processo.

L'output sopra non è molto utile in quanto non contiene molte informazioni. La vera potenza di ps il comando arriva quando viene lanciato con opzioni aggiuntive.

Il ps comando accetta un vasto numero di opzioni che possono essere utilizzate per visualizzare un gruppo specifico di processi e diverse informazioni sul processo, ma nell'uso quotidiano ne sono necessarie solo poche.

ps viene utilizzato più frequentemente con la seguente combinazione di opzioni:

Modulo BSD :

ps aux
  • Il a l'opzione dice a ps per visualizzare i processi di tutti gli utenti. Non vengono mostrati solo i processi che non sono associati a un terminale e i processi dei capigruppo.
  • u sta per un formato orientato all'utente che fornisce informazioni dettagliate sui processi.
  • Il x l'opzione indica ps per elencare i processi senza un terminale di controllo. Si tratta principalmente di processi avviati all'avvio e in esecuzione in background.

Il comando visualizza le informazioni in undici colonne etichettate USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME e CMD .

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.8  77616  8604 ?        Ss   19:47   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    19:47   0:00 [kthreadd]
...

Abbiamo già spiegato PID , TTY , TIME e CMD etichette. Ecco una spiegazione di altre etichette:

  • USER - L'utente che esegue il processo.
  • %CPU - La cpuutilizzo del processo.
  • %MEM - La percentuale della dimensione impostata residente del processo sulla memoria fisica sulla macchina.
  • VSZ - Dimensione della memoria virtuale del processo in KiB.
  • RSS - La dimensione della memoria fisica utilizzata dal processo.
  • STAT - Il codice dello stato del processo, come Z (zombie), S (dormiente) e R (in esecuzione).
  • START - L'ora in cui è stato avviato il comando.

Il f l'opzione dice a ps per visualizzare una vista ad albero dei processi da padre a figlio:

ps auxf

Il ps Il comando consente anche di ordinare l'output. Ad esempio, per ordinare l'output in base all'utilizzo della memoria, dovresti utilizzare:

ps aux --sort=-%mem

Modulo UNIX :

ps -ef
  • Il -e l'opzione indica ps per visualizzare tutti i processi.
  • Il -f si distingue per l'elenco completo, che fornisce informazioni dettagliate sui processi.

Il comando visualizza le informazioni in otto colonne etichettate UID , PID , PPID , C , STIME , TIME e CMD .

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:47 ?        00:00:01 /sbin/init
root         2     0  0 19:47 ?        00:00:00 [kthreadd]
...

Le etichette che non sono già state spiegate hanno il seguente significato:

  • UID - Uguale a USER , l'utente che esegue il processo.
  • PPID - L'ID del processo principale.
  • C - Come %CPU , l'utilizzo della CPU del processo.
  • STIME - Come START , l'ora in cui è stato avviato il comando.

Per visualizzare solo i processi in esecuzione come utente specifico, digita il comando seguente, dove linuxize è il nome dell'utente:

ps -f -U linuxize -u linuxize

Formato definito dall'utente #

Il o l'opzione consente di specificare quali colonne vengono visualizzate durante l'esecuzione di ps comando.

Ad esempio, per stampare solo informazioni sul PID e COMMAND , eseguiresti uno dei seguenti comandi:

ps -efo pid,comm
ps auxo pid,comm

Utilizzo di ps Con altri comandi #

ps può essere utilizzato in combinazione con altri comandi tramite piping.

Se vuoi visualizzare l'output di ps comando, una pagina alla volta invialo tramite pipe a less comando:

ps -ef | less

L'output di ps il comando può essere filtrato con grep . Ad esempio, per mostrare solo il processo che appartiene all'utente root dovresti eseguire:

ps -ef | grep root

Conclusione #

Il ps command è uno dei comandi più comunemente usati durante la risoluzione dei problemi sui sistemi Linux. Ha molte opzioni, ma di solito la maggior parte degli utenti usa ps aux o ps -ef per raccogliere informazioni sui processi in esecuzione.

Per ulteriori informazioni su ps , digita man ps nel tuo terminale.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. 30 Esercizi sui processi Linux per amministratori di sistema

  2. comando Linux ps

  3. Comando Linux ls - Elenca file

  4. Opzioni di comando nohup in Linux

  5. renice Esempi di comandi in Linux

Comando PS Linux con esempi

Comando SS in Linux

Monitoraggio dei processi su Linux

Come KILL un processo su Linux

Come elencare i dischi su Linux

Esempi di comandi lsattr in Linux