<Precedenti | Contenuti | Succ.>
Processi di visualizzazione
Il comando più comunemente usato per visualizzare i processi (ce ne sono diversi) è ps. ps
il programma ha molte opzioni, ma nella sua forma più semplice viene utilizzato in questo modo:
[io@linuxbox~]$ ps
TEMPO PID TTY CMD
5198 punti/1 00:00:00 bash
10129 punti/1 00:00:00 punti
[io@linuxbox~]$ ps
TEMPO PID TTY CMD
5198 punti/1 00:00:00 bash
10129 punti/1 00:00:00 punti
Il risultato in questo esempio elenca due processi, processo 5198 e processo 10129, che sono bash ed ps rispettivamente. Come possiamo vedere, per impostazione predefinita, ps non ci mostra molto, solo i processi associati alla sessione del terminale corrente. Per vedere di più, dobbiamo aggiungere alcune opzioni, ma prima di farlo, diamo un'occhiata agli altri campi prodotti da ps. TTY è l'abbreviazione di "Teletype" e si riferisce al terminale di controllo per il processo. Unix sta mostrando la sua età qui. Il ORARIO campo è la quantità di tempo della CPU consumata dal processo. Come possiamo vedere, nessuno dei due processi fa lavorare il computer molto duramente.
Se aggiungiamo un'opzione, possiamo ottenere un quadro più ampio di ciò che sta facendo il sistema:
[io@linuxbox~]$ psx
PID | TTY | STATISTICA | ORARIO | COMANDO |
2799 | ? | Ssl | 0:00 | /usr/libexec/server-di-attivazione-bonobo –ac |
2820 | ? | Sl | 0:01 | /usr/libexec/evolution-data-server-1.10 -- |
15647 | ? | Ss | 0:00 | /bin/sh /usr/bin/startkde |
15751 | ? | Ss | 0:00 | /usr/bin/ssh-agent /usr/bin/dbus-launch -- |
15754 | ? | S | 0:00 | /usr/bin/dbus-launch --exit-with-session |
15755 | ? | Ss | 0:01 | /bin/dbus-daemon --fork --print-pid 4 –pr |
15774 | ? | Ss | 0:02 | /usr/bin/gpg-agent -s –demone |
15793 | ? | S | 0:00 | start_kdeinit --new-startup +kcminit_start |
15794 | ? | Ss | 0:00 | kdeinit In esecuzione... |
15797 | ? | S | 0:00 | dcopserver –nosid |
e molti altri...
L'aggiunta dell'opzione "x" (nota che non c'è un trattino iniziale) dice ps per mostrare tutti i nostri processi indipendentemente dal terminale (se presente) da cui sono controllati. La presenza di un "?" nel TTY la colonna indica nessun terminale di controllo. Usando questa opzione, vediamo un elenco di tutti i processi che possediamo.
Poiché il sistema esegue molti processi, ps produce un lungo elenco. È spesso utile convogliare l'output da ps ai miglioramenti meno per una più facile visualizzazione. Alcune combinazioni di opzioni producono anche lunghe righe di output, quindi anche massimizzare la finestra dell'emulatore di terminale potrebbe essere una buona idea.
Una nuova colonna intitolata STATISTICA è stato aggiunto all'output. STATISTICA è l'abbreviazione di “state” e rivela lo stato attuale del processo:
Tabella 10-1: Stati del processo
Significato di stato
Significato di stato
R Correre. Ciò significa che il processo è in esecuzione o pronto per l'esecuzione.
S dormire. Il processo non è in esecuzione; piuttosto, è in attesa di un evento, come una sequenza di tasti o un pacchetto di rete.
D Sonno ininterrotto. Il processo è in attesa di I/O come un'unità disco.
T Fermato. Al processo è stato ordinato di fermarsi. Più su questo più tardi.
ZA defunta o processo "zombie". Questo è un processo figlio che è stato terminato, ma non è stato ripulito dal suo genitore.
< Un processo ad alta priorità. È possibile dare più importanza a un processo, dedicandogli più tempo sulla CPU. Questa proprietà di un processo si chiama gentilezza. Un processo con priorità alta si dice che sia inferiore bello perché impiega più tempo della CPU, che ne lascia meno per tutti gli altri.
NA Processo a bassa priorità. Un processo con priorità bassa (un processo "buono") riceverà il tempo del processore solo dopo che altri processi con priorità più alta sono stati serviti.
Lo stato del processo può essere seguito da altri caratteri. Questi indicano varie caratteristiche di processo esotiche. Vedi il ps pagina man per maggiori dettagli.
Un altro popolare set di opzioni è "aux" (senza trattino iniziale). Questo ci dà ancora più informazioni:
[io@linuxbox~]$ ps aux
UTENTE | PID | %PROCESSORE | %MEM | VSZ | RSS | TTY | STATISTICA | ENTRA IN | ORARIO | COMANDO |
radice | 1 | 0.0 | 0.0 | 2136 | 644 | ? | Ss | Mar05 | 0:31 | init |
radice | 2 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:00 | [kt] |
radice | 3 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:00 | [me] |
radice | 4 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:00 | [Ks] |
radice | 5 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:06 | [wa] |
radice | 6 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:36 | [ev] |
radice | 7 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:00 | [kh] |
e molti altri...
Questo insieme di opzioni visualizza i processi appartenenti a ciascun utente. L'utilizzo delle opzioni senza il trattino iniziale richiama il comando con il comportamento "stile BSD". La versione Linux di ps può emulare il comportamento del ps programma trovato in diverse implementazioni Unix. Con queste opzioni, otteniamo queste colonne aggiuntive:
Tabella 10-2: Intestazioni di colonna ps stile BSD
Significato dell'intestazione
Significato dell'intestazione
UTENTE ID utente. Questo è il proprietario del processo.
%CPU Utilizzo della CPU in percentuale.
%MEM Utilizzo della memoria in percentuale.
VSZ Dimensione della memoria virtuale.
Dimensione del set residente RSS. La quantità di memoria fisica (RAM) utilizzata dal processo in kilobyte.
START Ora di inizio del processo. Per i valori superiori a 24 ore, viene utilizzata una data.