ps – process status

ps

In informatica ps (abbreviazione dalla lingua inglese di process status, stato dei processi) è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX, che produce sullo standard output un elenco di informazioni sui processi al momento presenti nel sistema.

Le informazioni presentate si riferiscono all’istante in cui ps viene eseguito, e possono cambiare anche nel giro di pochi istanti. Per ottenere un elenco aggiornato periodicamente si può usare (se presente) il comando top.La sintassi generale di ps è la seguente:

ps [opzioni]
Se non diversamente specificato, ps produce un elenco sintetico dei processi appartenenti all’utente che lo esegue e che hanno come terminale controllante lo stesso terminale da cui ps viene eseguito.

Esistono tradizionalmente due stili di opzioni che è possibile specificare a ps:

lo stile POSIX, tipicamente disponibile sui sistemi riconducibili a UNIX System V, tra cui Solaris e HP-UX;
lo stile BSD, dei sistemi riconducibili a BSD, tra cui FreeBSD, OpenBSD, NetBSD, DragonFly BSD e macOS.
I due stili sono mutuamente incompatibili, perché alcune opzioni dell’uno hanno un significato diverso nell’altro. Esistono tuttavia implementazioni di ps che li supportano entrambi[2], come ad esempio quella su GNU/Linux, ove si possono usare anche le opzioni stile BSD in maniera non ambigua omettendone il trattino iniziale (ad esempio “ps auxww”).

Opzioni stile POSIX
Tra le opzioni principali vi sono:

-d
Mostra tutti i processi di tutti gli utenti, eccetto quelli che sono leader di sessione (tipicamente shell testuali).
-e
Mostra tutti i processi di tutti gli utenti.
-f
Visualizza le informazioni con un formato che le specifica tutte.
-l
Visualizza le informazioni usando un formato esteso.
-p elenco
Visualizza le informazioni relativamente ai processi aventi i PID specificati. Il parametro elenco è un elenco di PID separati da virgola (“,”) o da spazio (” “).
-o formato
Visualizza le informazioni usando il formato specificato. Il parametro formato è un elenco di parole chiave separate da virgola (“,”) o da spazio (” “) che specifica le informazioni da visualizzare.
-t elenco
Visualizza le informazioni relativamente ai processi aventi come terminale controllante i terminali indicati. Il parametro elenco è un elenco di identificativi di terminale separati (“,”) o da spazio (” “).
-u elenco
Visualizza le informazioni relativamente ai processi degli utenti indicati. Il parametro elenco è un elenco di UID o nomi utente separati da virgola (“,”) o da spazio (” “).