Pluto Free Software Users Group Pluto Free Software Users Group
PS(1) manual page Table of Contents

Nome

ps - riporta lo stato dei processi

Sintassi

ps [- ] [lujsvmaxScewhrnu ] [txx ] [O [+ |- ]k1 [[+ |- ]k2 ...]] [pids ]

ci sono anche tre opzioni lunghe:

--sortX[+|-]key[,[+|-]key[,...]]

--help

--version

Ulteriori opzioni lunghe stanno per essere introdotte...

Descrizione

ps mostra un'istantanea dei processi correnti. Se si vuole un'aggiornamento ripetitivo dello stato, si usi top. Questa pagina di manuale documenta la versione basata su /proc di ps, o almeno ci prova.

Opzioni

Le opzioni sulla riga di comando possono opzionalmente essere precedute da un '-', ma non è necessario. Ci sono inoltre alcune "opzioni lunghe" in stile GNU; si veda più sotto per quelle.
l
formato lungo
u
formato utente: da il nome dell'utente e l'ora d'inizio
j
formato jobs: pgid sid
s
formato signal
v
formato vm
m
mostra informazioni sulla memoria (assieme con il flag p da il numero di pagine).
f
le righe di comando sono mostrate in un albero
a
mostra anche i processi degli altri utenti
x
mostra i processi che non controllano un terminale
S
aggiunge il tempo di cpu dei figli e i page fault
c
nome comando dalla task_struct
e
mostra l'ambiente dopo la riga di comando e `+'
w
output largo: non tronca le righe di comando per farle stare una per riga. Per essere precisi, ogni w aggiunto metterà a disposizione un'altra riga di output per ogni processo. Se lo spazio non è necessario non sarà usato. Si può arrivare fino a 100 w.
h
non mostra l'header
r
solo processi running
n
output numerico per USER e WCHAN.
txx
solo i processi controllati dalla tty xx ; per xx è possibile usare il nome del device file in "/dev" o quel nome togliendo tty o cu. Questo è il reverse heuristic che ps usa per mostrare il nome abbreviato del tty nel campo TT , p.es. ps -t1.
O[+|-]k1[,[+|-]k2[,...]]
Ordina l'elenco dei processi secondo l'ordinamento multilivello specificato dalla sequenza di short key della sezione SORT KEY , k1 , k2 , ... Esiste un ordinamento di default specifico per ognuno dei diversi formati di ps . Questi sono modificabili dall'ordinamento specificato dall'utente. Il `+' è quasi opzionale, reitera solamente la direzione di default sulla key. `-' rovescia la la direzione solo della key che precede. Come con t e pid , l'opzione O deve essere l'ultima opzione di una riga di comando con un solo argomento, ma le specifiche in argomenti successivi sono concatenate.
pid
Elenca solo i processi specificati; sono separati da virgole. La lista deve essere data immediatamente dopo l'ultima opzione di una riga di comando con un unico argomento, senza introdurre spazi, p.es. ps -j1,4,5. Liste specificate negli argomenti seccessivi sono concatenate, p.es. ps -l 1,2 3,4 5 6 elenca tutti i processi con pid da 1 a 6 in formato lungo. Se sono specificati i pid, allora sono mostrati senza preoccuparsi d'altro. Se è specificato una tty che corrisponde ai processi, questi sono mostrati senza preoccuparsi d'altro. Queste due caratteristiche hanno priorità sui flag 'a' e 'x'.

Opzioni Lunghe

Queste opzioni sono procedute da due trattini (hyphen).
--sortX[+|-]key[,[+|-]key[,...]]
Scegliere una key multi-letter dalla sezione SORT KEY . X può essere un buon carattere di separazione. Per essere "GNU-ish" usare `='. Il `+' è veramente opzionale in quanto la direzione di default è incrementando l'ordine numerico e lessicografico. P.es.: ps -jax --sort=uid,-ppid,+pid
--help
Restituisce un messaggio d'aiuto che riassume l'uso e da un lista delle sort key supportate. Tale lista può essere più aggiornata di questa pagina di manuale.
--version
Mostra la versione.

Sort Key

Si noti che i valori usati nell'ordinamento sono i valori interni che ps usa e non i valori manipolati usati nei formati dei campi d'uscita. Se qualcuno a voglia di scrivere speciali funzioni di confronto per i valori manipolati, ... ;-)

CORTO LUNGO DESCRIZIONE

c cmd nome semplice dell'eseguibile
C cmdline intera riga di comando
f flags flag come nel campo F del formato
lungo
g pgrp process group ID
G tpgid process group ID della tty
controllante
j cutime user time totale
J cstime system time totale
k utime user time
K stime system time
m min_flt numero di page fault secondari
M maj_flt numero di page fault principali
n cmin_flt page fault secondari totali
N cmaj_flt page fault principali totali
o session session ID
p pid process ID
P ppid parent process ID
r rss dimensione insieme residente
R resident pagine residenti
s size dimensione memoria in Kbyte
S share shared page totali
t tty il minor device number della tty
T start_time ora in cui è partito il processo
U uid user ID number
u user nome utente
v vsize dimensione totale della VM in byte
y priority priorità di kernel scheduling

Descrizione Dei Campi

PRI
Questo è il campo counter della struct task. È in tempo in HZ del possibile timeslice del processo.
NI
Valore dello unix nice standard; un valore positivo indica un tempo di cpu minore.
SIZE
Dimensione della virtual image; dimensione di text+data+stack.
RSS
Dimensione del set residente; Kbyte di programma in memoria.
WCHAN
Nome della funzione del kernel sulla quale il processo è in sleep, con `sys_' tolto dal nome della funzione. Se non esiste /etc/psdatabase, è solo un numero esadecimale.
STAT
Informazione sulla stato del processo. Il primo campo è R per runnable, S per sleeping, D per sleep non interrompibile, T per stopped o traced, o Z per un processo zombie. Il secondo campo contiene W se il processo non ha pagine residenti. Il terzo campo è N se il processo ha un valore nice positivo (campo NI).
TT
tty controllante.
PAGEIN
Numero di page fault principali (page fault che causano la lettura della pagina dal disco, incluse le pagine lette dal buffer della cache).
TRS
Dimensione del text residente.
SWAP
Kbyte (o pagine se è usato -p) sullo swap device.
SHARE
Shared memory.

Aggiornamento

Questo ps basto su proc funziona leggendo i file nel filesystem proc, montato in /proc. Questo ps non ha necessità di essere suid kmem o di avere particolari privilegi per girare. Non date a questo ps nessun permesso particolare

Sarà necessario aggiornare il file /etc/psdatabase lanciando /sbin/psupdate per ottenere informazioni che abbiano senso dal campo WCHAN. Ciò dovrebbe essere fatto ogni volta che si compila un nuovo kernel. Si dovrebbe anche lanciare 'ps' come root ogni volta che i device tty nella directory "/dev" sono cambiati.

Come procps-1.00, ps/top leggono direttamente System.map se è disponibile. Il percorso di ricerca per la kernel address-to-symbol resolution è: $PS_SYSTEM_MAP
/boot/System.map-`uname -r`
/boot/System.map
/lib/modules/`uname -r`/System.map
/etc/psdatabase
/boot/psdatabase-`uname -r`
/boot/psdatabase,
/lib/modules/`uname -r`/psdatabase

Note

Il membro used_math della task_struct non è mostrato, in quanto crt0.s verifica se math è presente. Ciò fa si che il math flag sia settato per tutti i processi, e quindi è inutile.

I programmi swappati sul disco saranno mostrati senza gli argomenti della riga di comando, e finché non è data l'opzione c, tra parentesi.

%CPU mostra la percentuale cputime/realtime. Non arriverà mai al 100% finché non si è fortunati. É il tempo usato diviso per il tempo che il processo è stato eseguito.

I campi SIZE e RSS non contano le page table e le task_struct di un processo; questi sono almeno 12k di memoria che sono sempre residenti. SIZE è la virtual size del processo (code+data+stack).

Per effettuare la conversione tra numero del device e nome ps mantiene un file chiamato "/etc/psdevtab" (aggiornato ogni volta che "/dev" diventa più nuova ed è permesso l'aggiornamento). Se i permessi non permettono l'aggiornamento, ogni chiamata di ps richiede una stat(2) per ogni file nella directory "/dev". Se "/dev" cambia spesso nel proprio sistema di dovrebbe lanciare spesso ps come root. ;-) Potrei aggiungere un file di ripiego sotto $HOME forzato da una richiesta di massa.

Autore

ps è stato scritto originariamente da Branko Lankester (lankeste@fwi.uva.nl). Michael K. Johnson (johnsonm@sunsite.unc.edu) lo ha riscritto per usare il filesystem proc, cambiando un po' di cose nel processo. Michael Shields (mjshield@nyx.cs.du.edu) ha aggiunto l'argomento pid. Charles Blake(cblake@bbn.com) ha aggiunto l'ordinamento multilivello, la libreria in stile dirent, il database di conversione tra nome device e numero mmaped, la ricerca binaria approssimata direttamente su System.map, ha fatto una pulizia del codice e della documentazione ed è l'attuale manteiner del pacchetto proc-ps.


Table of Contents

HOWTO
Guide LDP
Italian HOWTO
AppuntiLinux
LDR
Pagine man
      man1
      man2
      man3
      man4
      man5
      man6
      man7
      man8
FAQ di icl
Gnome
Altri documenti
Mirror ildp
Meeting
Pluto Journal
Mailing List
Disclaimer
Area ftp
Cerca
Pluto home

Copyright © 2001 Pluto Free Software Users Group
pluto@pluto.linux.it

Valid HTML 4.01!

webmaster @ pluto.linux.it
Il Pluto ringrazia i suoi sponsor.