Utente:Ianezz/Ps (Unix)
Da Wikipedia, l'enciclopedia libera.
ps (da process status, stato dei processi) è un comando dei sistemi operativi Unix e Unix-like 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.
Indice |
[modifica] Uso
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 lo 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 Mac OS X.
I due stili sono mutualmente incompatibili tra di loro, perché alcune opzioni dell'uno hanno un significato diverso nell'altro. Esistono tuttavia implementazioni di ps che li supporano entrambi[1], 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").
[modifica] 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 (" ").
[modifica] Formati di output
Tramite l'opzione -o è possibile specificare un elenco di parole chiave che indicano quali informazioni visualizzare per ciascun processo.
Alcune di esse sono normalmente visualizzate col formato predefinito, o con i formati delle opzioni -l e -f.
Parola chiave | Titolo colonna | Opzioni | Informazioni mostrate |
---|---|---|---|
ruser | RUSER | il real UID del processo, o il suo nome corrispondente se la larghezza della colonna lo consente | |
user | USER | -l (solo numerico), -f | l'effective UID del processo, o il suo nome corrispondente se la larghezza della colonna lo consente |
rgroup | RGROUP | il real GID del processo, o il suo nome corrispondente se la larghezza della colonna lo consente | |
group | GROUP | l'effective GID del processo, o il suo nome corrispondente se la larghezza della colonna lo consente | |
pid | PID | tutte | il PID del processo |
ppid | PPID | -l, -f | il parent PID del processo, ovvero il PID del suo processo padre |
pgid | PGID | il PGID del processo, ovvero il PID del processo leader del gruppo di processi di cui il processo fa parte | |
pcpu | %CPU | la percentuale di tempo di CPU che il processo ha usato di recente | |
vsz | VSZ | dimensione del processo in termini di KiB di memoria virtuale usata. | |
nice | NI | -l | valore di nice del processo |
etime | ELAPSED | tempo trascorso dall'avvio del processo, espresso in minuti e secondi, preceduti da ore e da giorni se necessario. | |
time | TIME | tutte | tempo cumulativo di utilizzo della CPU, espresso in ore, minuti e secondi, preceduti dal numero di giorni se necessario. |
tty | TT | tutte | indicazione del terminale controllante del processo |
comm | COMMAND | nessuna, -l | nome del comando (senza parametri) |
args | COMMAND | -f | nome del comando seguito dai parametri (eventualmente troncato) |
Alcune informazioni sono visualizzate solo con il formato predefinito dall'opzione -l:
Titolo colonna | Informazioni mostrate |
---|---|
F | numero che indica eventuali flag associati al processo. |
S | lo stato del processo (R per running, S per sleeping e Z per zombie (vedi processo zombie) |
ADDR | indirizzo in memoria del processo |
SZ | dimensioni in blocchi (di dimensione specifica per la piattaforma, in genere 4 o 8 KiB) del processo |
WCHAN | l'evento per cui il processo è in attesa |
[modifica] Opzioni stile BSD
Tra le opzioni principali troviamo:
- -a – Mostra anche i processi degli altri utenti, e non del solo utente che ha avviato ps.
- -c – Mostra solo il nome del comando senza i parametri.
- -e – Mostra anche le variabili d'ambiente dei processi.
- -j – Usa un formato con informazioni utili alla gestione dei job della shell testuale.
- -l – Usa un formato esteso.
- -m – Ordina l'elenco dei processi in base al loro utilizzo di memoria.
- -o formato – Visualizza le informazioni usando il formato specificato. Il parametro formato è una lista di parole chiave separate da una virgola (",") o uno spazio (" "). Per un elenco delle parole chiave si rimanda alla documentazione del singolo sistema operativo.
- -p pid – Mostra le informazioni relative al processo che ha il PID specificato.
- -r – Ordina l'elenco dei processi in base al loro utilizzo di CPU.
- -t tty – Mostra le informazioni relative ai processi che hanno tty come terminale controllante.
- -U utente – Mostra le informazioni relative ai processi dell'utente specificato.
- -u – Usa un formato con informazioni utili per l'analisi dell'utilizzo di risorse (memoria e CPU) dei processi.
- -v – Usa un formato con informazioni utili per l'analisi dell'utilizzo di memoria dei processi.
- -w – Se specificata una volta sola, tronca le linee a 132 caratteri. Se specificata più volte, non tronca le linee.
- -x – Mostra anche i processi che non hanno un terminale controllante.
[modifica] Esempi
[modifica] Opzioni stile POSIX
Mostra un elenco esteso di tutti i processi:
ps -ef
Mostra un elenco dei processi dell'utente alice:
ps -u alice
[modifica] Opzioni stile BSD
Mostra un elenco esteso di tutti i processi
ps -auxww
Mostra un elenco dei processi dell'utente alice:
ps -U alice
[modifica] Note
- ^ (EN) Frequently Asked Questions about procps. URL consultato il 01-06-2008.
[modifica] Voci correlate
- Kill (Unix)
- Top (Unix)
[modifica] Collegamenti esterni
[modifica] Opzioni stile POSIX
- (EN) ps in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 31-05-2008.
[modifica] Opzioni stile BSD
- (EN) ps in NetBSD Manual Pages. URL consultato il 31-05-2008.
- (EN) ps in FreeBSD Man Pages. URL consultato il 31-05-2008.
- (EN) ps in OpenBSD Manual Pages. URL consultato il 31-05-2008.
- (EN) ps in Dragonfly On-Line Manual Pages. URL consultato il 31-05-2008.
- (EN) ps in Mac OS X Man Pages. URL consultato il 31-05-2008.
- Portale Informatica: accedi alle voci di Wikipedia che parlano di informatica