Comando Ps in Linux (List Processes)

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 è possibile utilizzare per trovare informazioni sui processi in esecuzione, con ps, pstree e top sono quelli più comunemente usati.

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

Come utilizzare ps Command #

La sintassi generale per il comando ps è la seguente:

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

  • Opzioni in stile UNIX, precedute da un solo trattino.
  • Opzioni di stile BSD, usate senza trattino.
  • Opzioni lunghe GNU, precedute da due trattini.

Diversi tipi di opzioni ca n essere mischiati, ma in alcuni casi particolari possono apparire dei conflitti, quindi è meglio attenersi a un tipo di opzione.

Le opzioni BSD e UNIX possono essere raggruppate.

In è più semplice form, 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 il comando è stato richiamato.

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

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

  • PID: l’ID del processo. Di solito, quando si esegue il comando ps, l’informazione più importante che l’utente sta cercando è il PID del processo. Conoscere il PID consente di terminare 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 che è stato utilizzato per avviare il processo.

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

Il comando ps accetta un vasto numero di opzioni che possono essere utilizzate per visualizzare un gruppo specifico di processi e diverse informazioni sul processo, ma solo una manciata è necessaria nell’uso quotidiano.

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

BSD form:

  • Il a opzione indica a ps di visualizzare i processi di tutti gli utenti. Non vengono visualizzati 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 sul processi.
  • L’opzione x indica a ps di elencare i processi senza un terminale di controllo. Si tratta principalmente di processi che vengono 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.

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

  • USER – L’utente che esegue il processo.
  • %CPU – L’utilizzo della CPU del processo.
  • %MEM – La percentuale della dimensione del set residente del processo rispetto alla 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, ad esempio Z (zombie), S (inattivo) e R (in esecuzione).
  • START – L’ora in cui è stato avviato il comando.

L’opzione f dice a ps di visualizzare una visualizzazione ad albero dei processi da padre a figlio:

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

Modulo UNIX:

  • L’opzione -e indica a ps di visualizzare tutti i processi.
  • -f è un elenco in formato completo, che fornisce informazioni dettagliate sui processi.

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

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 – Sam e 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 un utente specifico, digita il seguente comando, dove linuxize è il nome dell’utente:

Formato definito dall’utente #

Il o consente di specificare quali colonne vengono visualizzate quando si esegue il comando ps.

Ad esempio, per stampare solo informazioni su PID e COMMAND, dovresti eseguire uno dei seguenti comandi:

Utilizzo di ps con altri comandi #

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

Se desideri visualizzare l’output del comando ps, una pagina alla volta e reindirizzalo al comando less:

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

Conclusione #

Il ps è 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 utilizza ps aux o ps -ef per raccogliere informazioni sui processi in esecuzione.

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

Write a Comment

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