Il comando PS accetta diverse opzioni.
$ PS -E
$ ps aux
$ PS -PID 1001
In questo esempio, userò le opzioni UNIX e a volte GNU. Ma le opzioni BSD sono simili. Il più delle volte, puoi mescolarli insieme senza problemi. Anche se non puoi mescolare alcune delle opzioni insieme in quanto non funzionerà. Perciò stai attento.
Trovare tutti i processi in esecuzione:
Con il comando PS, puoi trovare tutti i processi in esecuzione sulla macchina.
Per trovare tutti i processi in esecuzione con PS, utilizzare PS come segue,
$ ps -ef
Come puoi vedere, il UID (ID utente), Pid (ID processo), PPID (ID processo genitore), Cmd (comando utilizzato per eseguire il processo) e vengono visualizzate altre informazioni su tutti i processi in esecuzione.
Puoi elencare tutti i processi in esecuzione con diversi ps combinazione di opzioni. Mostreranno diverse informazioni sui processi in esecuzione. Puoi davvero dire ps per visualizzare informazioni specifiche, che arriveremo nella sezione successiva.
$ PS -E
Come potete vedere, PS -E mostra il Pid, Tty (numero terminale), TEMPO (tempo di esecuzione del processo) e Cmd dei processi in esecuzione. Sono molte meno informazioni di prima.
$ ps -ef
Mostra molte informazioni sui processi in esecuzione, ma alcune colonne come C (utilizzo del processore), Sz (dimensione nelle pagine fisiche), RSS (dimensione del set di residenti), PSR (Processore quel processo è attualmente assegnato), Stime (Il tempo in cui il processo è iniziato) ecc. non sono visualizzati. Quindi, è un po 'più compatto di PS -ef.
Un'altra variante di PS,
$ ps -ely
Questo ti mostra Uid (ID utente), Pri (priorità attuale del processo), Ni (buon valore) anche. Quindi, è davvero utile.
Semplificare la navigazione PS:
Un tipico sistema Linux ha un sacco di processo in esecuzione in background. Quindi, l'output del ps Il comando è molto lungo. È più difficile trovare informazioni utili lì. Ma possiamo usare un cercapersone come meno per cercare i processi un po 'più facilmente.
Puoi usare il meno Pager come segue:
$ ps -ef | meno
L'output di ps sarà aperto con meno.
Ora puoi usare E tasti freccia per navigare molto facilmente nell'elenco.
Puoi anche cercare parole chiave specifiche qui. Questo è davvero utile per trovare i processi che stai cercando.
Per cercare un processo, diciamo acpi, digitare la parola chiave come segue in meno cercapersone.
/ACPI
Ora, premere .
Come puoi vedere, il processo con la parola chiave acpi è evidenziato.
Puoi anche premere N E P tasti per andare alla partita successiva e precedente (se disponibile).
Come puoi vedere, ho premuto N e il processo successivo con la parola chiave acpi è evidenziato.
Per uscire dal cercapersone, premere Q.
Selezionare manualmente le colonne da visualizzare in PS:
IL PS -E / PS -ef / PS -ef Il comando ecc. mostra alcune colonne predefinite. Ma, se vuoi, puoi dire a PS di mostrarti colonne specifiche o aggiungere ulteriori colonne al set predefinito di colonne.
Ad esempio, diciamo, vuoi solo vedere %Mem (per cento utilizzo della memoria), Pid (ID processo) e Uid (ID proprietario del processo) e COMANDO (comando di processo), quindi eseguire PS come segue:
$ ps -e -o %mem, pid, uid, comunica
Come puoi vedere, PS ha visualizzato solo le informazioni che le ho chiesto. Niente di più, niente di meno.
I tasti di colonna usati qui sono %Mem (per %Mem), PID (per PID), UID (per UID), COMM (per comando). PS supporta molte parole chiave. Puoi trovare l'intero elenco nella pagina Man di PS.
Basta aprire la pagina man di PS con il seguente comando e navigare al Specificatori di formato standard sezione come mostrato nello screenshot seguente.
$ man ps
Se si desidera visualizzare colonne aggiuntive insieme al set di colonne predefinite, è possibile utilizzare il -O Opzione per specificare le colonne che si desidera vedere.
Per esempio,
$ ps -ef -o %cpu
Come puoi vedere, ho aggiunto %PROCESSORE E %Mem colonna insieme alle colonne predefinite di PS -ef comando.
Ormante di output del comando PS:
È inoltre possibile ordinare l'output di PS in base a qualsiasi colonna o colonna specifica. È possibile ordinare l'output di PS nell'ordine ascendente o discendente a seconda del requisito.
Per ordinare l'output di PS usando qualsiasi singola colonna, è possibile utilizzare PS come segue:
$ PS -ef - -Sort = (+| -) column_code
Qualche esempio lo renderà più chiaro.
Diciamo, vuoi ordinare i processi a seconda di quanto tempo è in esecuzione in ordine crescente. Puoi eseguire PS come segue:
$ PS -ef - -Sort =+time
O
$ PS -ef - -Sort = Time
NOTA: L'impostazione predefinita è l'ordinamento in ordine crescente. Quindi puoi omettere il + Firma se vuoi.
Come puoi vedere, l'output è ordinato nell'ordine ascendente dal TEMPO colonna.
Ancora una volta, diciamo, vuoi ordinare i processi a seconda di quanto tempo è in esecuzione nell'ordine decrescente. Quindi, il comando PS sarebbe:
$ PS -ef - -Sort = -time
Come puoi vedere, i processi in esecuzione per il più lungo sono prima elencati.
Se si desidera ordinare per più colonne, aggiungi le colonne come segue:
$ PS -ef - -Sort = Time, -%Mem,%CPU
Dove andare dopo?
Ho coperto le basi del comando PS. Ora, dovresti essere in grado di saperne di più sul comando PS dalla pagina Man di PS.
Puoi accedere alla pagina Man di PS come segue,
$ man ps
Ad esempio, puoi trovare un processo specifico se sai che è PID usando PS come segue:
$ ps -o %mem, %cpu -p 2060
NOTA: Qui, 2060 è il PID del processo.
Puoi anche cercare processi di proprietà di utente o gruppo specifici ecc.
Ad esempio, per trovare tutti i processi in esecuzione dell'utente di accesso, eseguire PS come segue:
$ ps -o utente,%mem,%cpu -u $ (whoami)
NOTA: Puoi sostituire $ (whoami) con qualsiasi nome utente che desideri elencare i processi in esecuzione come utente.
Quindi, è così che usi il comando PS per trovare i processi in esecuzione su Linux. Grazie per aver letto questo articolo.