Linus Torvalds de Férias do Kernel: O Que Anda Rolando na Lista de E-mails do Linux?
Sommario:
In Linux, un'istanza in esecuzione di un programma si chiama processo. Occasionalmente, quando si lavora su una macchina Linux, potrebbe essere necessario scoprire quali processi sono attualmente in esecuzione.
Esistono numerosi comandi che è possibile utilizzare per trovare informazioni sui processi in esecuzione, tra cui
ps
,
pstree
e
top
sono i più utilizzati.
Questo articolo spiega come utilizzare il comando
ps
per elencare i processi attualmente in esecuzione e visualizzare informazioni su tali processi.
Come usare il comando
ps
La sintassi generale per il comando
ps
è la seguente:
ps
Per motivi storici e di compatibilità, il comando
ps
accetta diversi tipi di opzioni:
- Opzioni di stile UNIX, precedute da un singolo trattino. Opzioni di stileBSD, utilizzate senza trattino. Opzioni lunghe GNU, precedute da due trattini.
È possibile combinare diversi tipi di opzioni, ma in alcuni casi particolari possono apparire conflitti, quindi è meglio attenersi a un tipo di opzione.
Le opzioni BSD e UNIX possono essere raggruppate.
Nella sua forma più semplice, se usato senza alcuna opzione,
ps
stamperà quattro colonne di informazioni per almeno due processi in esecuzione nella shell corrente, la shell stessa e i processi che vengono eseguiti nella shell quando il comando è stato invocato.
ps
L'output include informazioni sulla shell (
bash
) e sul processo in esecuzione in questa shell (
ps
, il comando che hai digitato):
PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps
Le quattro colonne sono etichettate
PID
,
TTY
,
TIME
e
CMD
.
-
PID
: l'ID processo. Di solito, quando si esegue il comandops
, l'informazione più importante che l'utente sta cercando è il PID del processo. Conoscere il PID consente di interrompere un processo non funzionante.TTY
- Il nome del terminale di controllo per il processo.TIME
- Il tempo cumulativo della CPU del processo, mostrato in minuti e secondi.CMD
: il nome del comando utilizzato per avviare il processo.
L'output di cui sopra non è molto utile in quanto non contiene molte informazioni. Il vero potere del comando
ps
arriva quando viene lanciato con opzioni aggiuntive.
Il comando
ps
accetta un gran numero di opzioni che possono essere utilizzate per visualizzare un gruppo specifico di processi e diverse informazioni sul processo, ma solo una manciata è necessaria nell'uso quotidiano.
ps
è più frequentemente usato con la seguente combinazione di opzioni:
Modulo BSD:
ps aux
- L'opzione a indica a
ps
di visualizzare i processi di tutti gli utenti. Non vengono mostrati solo i processi che non sono associati a un terminale e i processi dei leader di gruppo.u
sta per un formato orientato all'utente che fornisce informazioni dettagliate sui processi. L'opzionex
indica aps
di elencare i processi senza un terminale di controllo. Questi sono principalmente processi che vengono avviati all'avvio e in esecuzione in background.
Il comando visualizza le informazioni in undici colonne etichettate
USER
,
PID
,
%CPU
,
%MEM
,
VSZ
,
RSS
,
STAT
,
START
,
TTY
,
TIME
e
CMD
.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…
Abbiamo già spiegato le etichette
PID
,
TTY
,
TIME
e
CMD
. Ecco una spiegazione di altre etichette:
-
USER
: l'utente che esegue il processo.%CPU
- L'utilizzo della CPU del processo.%MEM
: la percentuale della dimensione impostata per il residente del processo sulla memoria fisica sulla macchina.VSZ
- Dimensione della memoria virtuale del processo in KiB.RSS
: la dimensione della memoria fisica utilizzata dal processo.STAT
: il codice dello stato del processo, ad esempioZ
(zombie),S
(inattivo) eR
(in esecuzione).START
: l'ora in cui è stato avviato il comando.
L'opzione
f
indica a
ps
di visualizzare una vista ad albero dei processi padre-figlio:
ps auxf
Il comando
ps
consente anche di ordinare l'output. Ad esempio, per ordinare l'output in base all'utilizzo della memoria, è necessario utilizzare:
ps aux --sort=-%mem
Modulo UNIX:
ps -ef
- L'opzione
-e
indica aps
di visualizzare tutti i processi.-f
indica un elenco a tutto formato, che fornisce informazioni dettagliate sui processi.
Il comando visualizza le informazioni in otto colonne etichettate come
UID
,
PID
,
PPID
,
C
,
STIME
,
TIME
e
CMD
.
UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…
Le etichette che non sono già state spiegate hanno il seguente significato:
-
UID
: uguale aUSER
, l'utente che esegue il processo.PPID
: l'ID del processo principale.C
- Come%CPU
, l'utilizzo della CPU di processo.STIME
: uguale aSTART
, l'ora in cui è stato avviato il comando.
Per visualizzare solo i processi in esecuzione come utente specifico, digitare il comando seguente, dove
linuxize
è il nome dell'utente:
Formato definito dall'utente
L'opzione
o
consente di specificare quali colonne vengono visualizzate durante l'esecuzione del comando
ps
.
Ad esempio, per stampare informazioni solo su
PID
e
COMMAND
, è necessario eseguire uno dei seguenti comandi:
ps -efo pid, comm
Uso di
ps
con altri comandi
ps
può essere usato in combinazione con altri comandi tramite piping.
ps -ef | less
L'output del comando
ps
può essere filtrato con
grep
. Ad esempio, per mostrare solo il processo appartenente all'utente root dovresti eseguire:
Conclusione
Il comando
ps
è uno dei comandi più comunemente usati durante la risoluzione dei problemi sui sistemi Linux. Ha molte opzioni, ma di solito la maggior parte degli utenti utilizza
ps aux
o
ps -ef
per raccogliere informazioni sui processi in esecuzione.
Per ulteriori informazioni su
ps
, digita
man ps
nel tuo terminale.
Cogli la riga di comando con il comando Take

Integra il prompt dei comandi, la GUI e un potente linguaggio batch con il potente toolkit Take Command.
Elenco degli switch di avvio della riga di comando Microsoft Word

Microsoft Word offre diverse utili opzioni della riga di comando che possono essere utilizzate per avviare Word. Per aprire un documento di Word utilizzando gli switch, digita winword.exe / x nella ricerca iniziale e premi Invio
Creare un elenco a discesa (elenco di convalida) nelle cartelle di lavoro di ms Excel

Scopri come creare un elenco a discesa (Elenco di convalida) nelle cartelle di lavoro di MS Excel.