Provided by:
manpages-it_0.3.4-5_all 
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 di ps basata su /proc, o almeno ci prova.
OPZIONI
Le opzioni sulla riga di comando possono essere precedute opzionalmente
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: dà 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 dà 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 senza terminale di controllo
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 file di dispositivo in "/dev" o quel nome togliendo
tty o cu. Questo è l’euristica inversa che ps usa per mostrare il
nome abbreviato del tty nel campo TT, per esempio ps -t1.
O[+|-]k1[,[+|-]k2[,...]]
Ordina l’elenco dei processi secondo l’ordinamento multilivello
specificato dalla sequenza di chiavi corte della sezione CHIAVI DI
ORDINAMENTO: k1, k2, ecc. Esiste un ordinamento predefinito
specifico per ognuno dei diversi formati di ps. Questi sono
modificabili dall’ordinamento specificato dall’utente. Il ‘+’ è
quasi opzionale: reitera solamente la direzione predefinita sulla
chiave. ‘-’ rovescia la direzione solo nella chiave 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,
per esempio ps -j1,4,5. Liste specificate negli argomenti
seccessivi sono concatenate, per esempio 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, questi vengono elencati senza preoccuparsi
d’altro. Se è specificato una tty, i processi corrispondenti
vengono elencati 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 chiave multi-lettera dalla sezione CHIAVI DI
ORDINAMENTO. X può essere un buon carattere di separazione. Per
essere in stile GNU usare ‘=’. Il ‘+’ è veramente opzionale in
quanto la direzione predefinita è quella dell’ordine numerico e
lessicografico crescente. Per esempio: ps -jax
--sort=uid,-ppid,+pid
--help
Restituisce un messaggio d’aiuto che riassume l’uso e dà un lista
delle chiavi di ordinamento gestite. Tale lista può essere più
aggiornata di questa pagina di manuale.
--version
Mostra la versione.
CHIAVI DI ORDINAMENTO
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 ha voglia di scrivere funzioni di confronto speciali per i
valori manipolati, ... ;-)
CORTA LUNGA DESCRIZIONE
c cmd nome semplice dell’eseguibile
C cmdline riga di comando intera
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 numero secondario di dispositivo 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 dell’immagine virtuale; dimensione di text+data+stack.
RSS Dimensione dell’insieme 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) sul dispositivo di swap.
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
dispositivi 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 sì che il math flag sia impostato
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 dimensione virtuale del processo (code+data+stack).
Per effettuare la conversione tra numero del dispositivo 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 di dispositivo 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.