<Precedenti | Contenuti | Succ.>
Processi di visualizzazione
Il comando più comunemente utilizzato 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
PID TTY ORA CMD
5198 punti/1 00:00:00 bash
10129 punti/1 00:00:00 ps
[io@linuxbox~]$ ps
PID TTY ORA CMD
5198 punti/1 00:00:00 bash
10129 punti/1 00:00:00 ps
Il risultato in questo esempio elenca due processi, il processo 5198 e il processo 10129, che sono bash e ps rispettivamente. Come possiamo vedere, per impostazione predefinita, ps non ci mostra molto, solo i processi associati alla sessione 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 Il campo "Tempo di CPU" indica la quantità di tempo di CPU consumata dal processo. Come possiamo vedere, nessuno dei due processi sottopone il computer a un carico di lavoro eccessivo.
Se aggiungiamo un'opzione, possiamo ottenere un quadro più ampio di ciò che sta facendo il sistema:
[io@linuxbox~]$ ps x
PID | TTY | STATISTICA | ORARIO | COMANDO |
2799 | ? | Ssl | 0:00 | /usr/libexec/bonobo-activation-server –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 –daemon |
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...
Aggiungendo l'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 che non esiste alcun terminale di controllo. Utilizzando questa opzione, vediamo un elenco di tutti i processi di nostra proprietà.
Poiché il sistema esegue molti processi, ps produce un lungo elenco. Spesso è utile incanalare l'output da ps ai miglioramenti meno per una visualizzazione più semplice. Alcune combinazioni di opzioni producono anche lunghe righe di output, quindi potrebbe essere una buona idea anche massimizzare la finestra dell'emulatore di terminale.
Una nuova rubrica intitolata STATISTICA è stato aggiunto all'output. STATISTICA è l'abbreviazione di "stato" e rivela lo stato attuale del processo:
Tabella 10-1: Stati del processo
Significato dello stato
Significato dello stato
R In esecuzione. Ciò significa che il processo è in esecuzione o pronto per essere eseguito.
S In sospeso. Il processo non è in esecuzione; è in attesa di un evento, come la pressione di un tasto o un pacchetto di rete.
D Sospensione ininterrotta. Il processo è in attesa di I/O, ad esempio di un'unità disco.
T Interrotto. Il processo è stato interrotto. Maggiori informazioni saranno fornite più avanti.
ZA è un processo defunto o "zombie". Si tratta di un processo figlio che è terminato, ma non è stato ripulito dal suo padre.
< Un processo ad alta priorità. È possibile attribuire maggiore importanza a un processo, assegnandogli più tempo sulla CPU. Questa proprietà di un processo è chiamata gentilezzaUn processo con priorità alta si dice che sia meno bello perché occupa più tempo della CPU, lasciandone meno a tutti gli altri.
NA processo a bassa priorità. Un processo con bassa priorità (un processo "gradevole") riceverà tempo di elaborazione solo dopo che altri processi con priorità più alta saranno stati elaborati.
Lo stato del processo può essere seguito da altri caratteri. Questi indicano varie caratteristiche esotiche del processo. Vedere ps pagina man per maggiori dettagli.
Un altro set di opzioni popolare è "aux" (senza trattino iniziale). Questo ci fornisce 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 | [mi] |
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 | [anche] |
radice | 7 | 0.0 | 0.0 | 0 | 0 | ? | S< | Mar05 | 0:00 | [kh] |
e molti altri...
Questo set di opzioni mostra i processi appartenenti a ciascun utente. L'utilizzo delle opzioni senza il trattino iniziale richiama il comando con un comportamento "stile BSD". La versione Linux di ps può emulare il comportamento del ps programma presente in diverse implementazioni Unix. Con queste opzioni, otteniamo queste colonne aggiuntive:
Tabella 10-2: Intestazioni di colonna ps in stile BSD
Significato dell'intestazione
Significato dell'intestazione
UTENTE ID utente. È 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. Quantità di memoria fisica (RAM) utilizzata dal processo, espressa in kilobyte.
INIZIO Ora di inizio del processo. Per valori superiori a 24 ore, viene utilizzata una data.