Come utilizzare il comando ps in Linux per uccidere il processo

Ps Command
⏱️ 6 min read

Quando lavori, a volte i tuoi programmi si bloccano improvvisamente. Altre volte, i programmi sono ancora in esecuzione ma con un elevato consumo di memoria o processore. C’è un modo per risolvere questo problema in Linux usando il file ps (Pprocesso Stato) comando. Qui ti mostriamo come usare il ps comando in Linux per elencare i processi attualmente in esecuzione e i relativi PID. Puoi quindi trovare e uccidere i processi che consumano le tue risorse.

Usando il comando “ps”.

Il ps il comando può essere utilizzato da solo. Produrrà quattro colonne di informazioni:

  • PID: l’identificatore univoco del processo definito dal sistema. È il valore che usiamo per fermare un processo.
  • TTY: terminale da cui è stato avviato il processo.
  • VOLTA: la quantità totale di tempo CPU utilizzato dal processo.
  • CMD: comando che genera il processo
Comando di uscita PS 1

Nota che quando usi il comando senza alcuna opzione, non mostra molte informazioni. Ecco alcuni modi per renderlo più utile.

1. Elenca il processo di tutti gli utenti

Quando alcuni programmi vengono installati, a volte creano anche alcuni utenti aggiuntivi per eseguire il processo. Per elencare i processi degli utenti, utilizzare il -e opzione:

ps -e

e il suo output:

PID TTY          TIME CMD
1 ?        00:00:02 systemd
2 ?        00:00:00 kthreadd
3 ?        00:00:00 kworker/0:0
4 ?        00:00:00 kworker/0:0H
5 ?        00:00:00 kworker/u256:0
6 ?        00:00:00 mm_percpu_wq

2. Elenca il processo con ulteriori informazioni

È possibile avere maggiori informazioni quando si elenca il processo in esecuzione. Per fare ciò, puoi utilizzare il ef opzione.

ps -ef

e il suo output:

UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 21:34 ?        00:00:03 /sbin/init maybe-ubiquity
root          2      0  0 21:34 ?        00:00:00 [kthreadd]
root          3      2  0 21:34 ?        00:00:00 [kworker/0:0]
root          4      2  0 21:34 ?        00:00:00 [kworker/0:0H]
root          6      2  0 21:34 ?        00:00:00 [mm_percpu_wq]
root          7      2  0 21:34 ?        00:00:00 [ksoftirqd/0]

3. Filtra il processo per ID processo

Se conosci l’ID del processo in esecuzione che desideri mostrare, puoi filtrarlo in modo specifico con il -p bandiera. Questo può richiedere più PID come argomenti, separati da una singola virgola e senza spazio.

ps -ef -p 1234,5678,9012

4. Elenca i processi di proprietà di un utente

Puoi anche elencare i processi che sono di proprietà di un utente con u opzione seguita dal nome dell’utente:

ps -u userName

e il suo output:

PID TTY          TIME CMD
2832 ?        00:00:00 systemd
2842 ?        00:00:00 (sd-pam)
3043 ?        00:00:00 sshd
3044 pts/1    00:00:00 bash
18396 pts/1    00:00:00 ps

5. Elenca i processi attivi

È possibile elencare tutti i processi attivi utilizzando il file ax opzione:

ps -ax

e il suo output:

PID TTY      STAT   TIME COMMAND
1 ?        Ss     0:02 /sbin/init maybe-ubiquity
2 ?        S      0:00 [kthreadd]
3 ?        I      0:00 [kworker/0:0]
4 ?        I<     0:00 [kworker/0:0H]
6 ?        I<     0:00 [mm_percpu_wq]
7 ?        S      0:00 [ksoftirqd/0]

6. Elenca i processi attivi con gli utenti

È possibile elencare tutti i processi attivi con gli utenti quando si aggiunge il file -aux bandiera:

ps -aux

e il suo output:

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.2  78132  9188 ?        Ss   21:34   0:02 /sbin/init maybe-ubiquity
root          2  0.0  0.0      0     0 ?        S    21:34   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        I    21:34   0:00 [kworker/0:0]
root          4  0.0  0.0      0     0 ?        I<   21:34   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        I<   21:34   0:00 [mm_percpu_wq]
root          7  0.0  0.0      0     0 ?        S    21:34   0:00 [ksoftirqd/0]
root          8  0.0  0.0      0     0 ?        I    21:34   0:00 [rcu_sched]
root          9  0.0  0.0      0     0 ?        I    21:34   0:00 [rcu_bh]
root         10  0.0  0.0      0     0 ?        S    21:34   0:00 [migration/0]

7. Filtra il processo in base al nome di un programma

È possibile recuperare le informazioni su un programma specifico in esecuzione applicando un filtro sul file ps risultato:

ps -aux | grep docker

e il suo output:

root       1508  0.0  2.2 1518156 90868 ?       Ssl  21:34   0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
userkub+  18429  0.0  0.0  13144  1108 pts/1    S+   23:57   0:00 grep --color=auto docker

In alternativa, puoi anche utilizzare il C opzione per filtrare il processo in base al suo nome:

ps -C name
Usa Ps su Linux C Flag

8. Visualizza colonne specifiche

Oltre alle quattro colonne predefinite, puoi ottenere ps per visualizzare un’ulteriore colonna di informazioni. Per esempio:

ps -e -o pid,uname,pcpu,pmem,comm
Usa Ps su Linux O Flag

Il -o flag imposta opzioni di visualizzazione dell’output specifiche per ps risultati del comando. Vedi un elenco completo di opzioni di visualizzazione standard per ps.

9. Visualizza i risultati in stile albero gerarchico

ps -e --forest

Questo utilizza l’arte ASCII per creare una struttura ad albero per la visualizzazione dei processi. Mostra i processi fork e child come discendenti dei processi parent appropriati, ordinandoli in modo che corrispondano. Per nascondere i “rami” dell’albero, usa -H al posto di --forest.

10. Visualizza thread di processo

ps -p 4041 -L
Usa Ps su Linux L Threads Flag

Il -L flag commuta su un display thread per qualsiasi funzionalità di ps. È molto utile quando si rintracciano i thread di un processo specifico.

11. Mostra tutti i processi di root

ps -f -U root -u root
Usa Ps sui processi di root Linux 2

Esegui una ricerca per tutti i processi in esecuzione con identificazioni root reali ed efficaci. Questo li mostra nel formato a figura intera, grazie al -f bandiera. Puoi abbinarlo al -o flag per personalizzare l’output.

Utilizzare il comando kill per interrompere un processo

Una volta individuato il processo che si comporta in modo anomalo, è possibile utilizzare il comando kill per terminare un processo in esecuzione. Il comando invia un segnale a un processo che lo termina. Quando i tuoi programmi sono congelati, la maggior parte delle volte dovrai ucciderli forzatamente con il -9 opzione.

Elimina il comando di uscita 1

L’output di ps è una vista istantanea. A differenza di htop, Non si aggiorna dinamicamente. Ciò significa che potrebbe essere necessario eseguirlo più volte per avere un’immagine chiara di quale processo si sta comportando in modo anomalo. Per avere una visione aggiornata dei processi, puoi provare altri comandi per il sistema Linux.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x