Come utilizzare il comando PS per trovare i processi in esecuzione su Linux

Come utilizzare il comando PS per trovare i processi in esecuzione su Linux
La forma completa di ps È Stato del processo. È un comando utilizzato per trovare informazioni sull'esecuzione attualmente di processi su Linux. PS è un comando molto importante di Linux.In questo articolo, ti mostrerò come utilizzare il comando PS per trovare i processi in esecuzione su Linux. Quindi iniziamo.

Diversi tipi di opzioni:

Il comando PS accetta diverse opzioni.

  1. Opzioni UNIX - Avere il trattino principale.
    $ PS -E
  1. Opzioni BSD - Non hai il trattino principale.
    $ ps aux
  1. Opzioni GNU - Avere doppio trattino.
    $ 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.