GNU/Linux >> Linux Esercitazione >  >> Linux

Come eliminare i processi in esecuzione in Linux

In Linux, un'istanza di un servizio, un'applicazione o uno script in esecuzione è chiamata processo. Quando si esegue un comando, un programma o un'applicazione, viene creato un processo per esso. Ogni processo ha il proprio ID processo associato a un utente e un gruppo specifici. Se alcuni processi consumano troppe risorse o non rispondono, potrebbe essere necessario eliminarli. In questo caso, puoi utilizzare il comando kill per interrompere il processo senza riavviare il server.

In questo post, ti mostreremo come eliminare i processi in esecuzione in Linux.

Prerequisiti

  • Un server che esegue Linux sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Crea server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo qualsiasi sistema operativo Linux con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Visualizza i processi in esecuzione in Linux

Il modo più semplice e veloce per ottenere un elenco di tutti i processi in esecuzione è utilizzare il comando top. Puoi eseguire il comando in alto come mostrato di seguito per elencare tutti i processi in esecuzione:

top

Otterrai tutti i processi in esecuzione nel seguente output:

Tasks: 344 total,   1 running, 297 sleeping,   0 stopped,   0 zombie
%Cpu(s): 22.6 us,  6.0 sy,  0.1 ni, 67.1 id,  3.9 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem :  7580260 total,  2103076 free,  3174408 used,  2302776 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  3901388 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                   
 5994 vyom      20   0   44344   4160   3444 R  11.8  0.1   0:00.03 top                                                                       
 2206 vyom      20   0 1046476  89792  60368 S   5.9  1.2   1:15.26 Xorg                                                                      
 2359 vyom      20   0 3471324 216412  97596 S   5.9  2.9   1:58.27 gnome-shell                                                               
 2745 vyom      20   0 1776552 136144  99424 S   5.9  1.8   1:09.93 skypeforlinux                                                             
 2775 vyom      20   0 37.371g 169524 117660 S   5.9  2.2   1:05.09 skypeforlinux                                                             
 5655 root      20   0       0      0      0 I   5.9  0.0   0:00.30 kworker/u8:3-ev                                                           
    1 root      20   0  160356   9464   6632 S   0.0  0.1   0:03.50 systemd                                                                   
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd                                                                  
    3 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_gp                                                                    
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_par_gp                                                                
    6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H-kb                                                           
    9 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq                                                              
   10 root      20   0       0      0      0 S   0.0  0.0   0:00.40 ksoftirqd/0                                                               
   11 root      20   0       0      0      0 I   0.0  0.0   0:03.58 rcu_sched                                                                 
   12 root      rt   0       0      0      0 S   0.0  0.0   0:00.01 migration/0                                                               
   13 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/0                                                             
   14 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0                                                                   
   15 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1                                                                   
   16 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/1                                                             

Puoi premere k e inserire l'ID del processo per terminare il processo direttamente dall'interfaccia superiore.

Trova il processo usando il comando ps

ps è un'utilità della riga di comando che visualizzerà un elenco completo dei processi in esecuzione nel formato specificato.

La sintassi di base del comando ps è mostrata di seguito:

ps [OPTION]

Di seguito viene mostrata una breve spiegazione di ciascuna opzione:

  • -a – Visualizza i processi in esecuzione di tutti gli utenti.
  • -u – Visualizza informazioni dettagliate su ciascuno dei processi.
  • -x – Visualizza i processi controllati dal demone.

Ad esempio, esegui il comando seguente per ottenere un elenco dettagliato dei processi di tutti i processi.

ps aux

Otterrai il seguente output:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.1 160356  9464 ?        Ss   15:51   0:03 /sbin/init splash
root         2  0.0  0.0      0     0 ?        S    15:51   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   15:51   0:00 [rcu_gp]
root         4  0.0  0.0      0     0 ?        I<   15:51   0:00 [rcu_par_gp]
root         6  0.0  0.0      0     0 ?        I<   15:51   0:00 [kworker/0:0H-kb]
root         9  0.0  0.0      0     0 ?        I<   15:51   0:00 [mm_percpu_wq]
root        10  0.0  0.0      0     0 ?        S    15:51   0:00 [ksoftirqd/0]
root        11  0.1  0.0      0     0 ?        I    15:51   0:03 [rcu_sched]
root        12  0.0  0.0      0     0 ?        S    15:51   0:00 [migration/0]
root        13  0.0  0.0      0     0 ?        S    15:51   0:00 [idle_inject/0]
root        14  0.0  0.0      0     0 ?        S    15:51   0:00 [cpuhp/0]
root        15  0.0  0.0      0     0 ?        S    15:51   0:00 [cpuhp/1]
root        16  0.0  0.0      0     0 ?        S    15:51   0:00 [idle_inject/1]
root        17  0.0  0.0      0     0 ?        S    15:51   0:00 [migration/1]
root        18  0.0  0.0      0     0 ?        S    15:51   0:00 [ksoftirqd/1]
root        20  0.0  0.0      0     0 ?        I<   15:51   0:00 [kworker/1:0H-kb]
root        21  0.0  0.0      0     0 ?        S    15:51   0:00 [kdevtmpfs]
root        22  0.0  0.0      0     0 ?        I<   15:51   0:00 [netns]

Il comando sopra ti mostrerà tutti i processi in esecuzione. Puoi usare il comando grep con il comando ps per ottenere un PID di un processo specifico.

Ad esempio, per ottenere un PID di un processo Apache, eseguire il comando seguente:

ps aux | grep apache

Otterrai il seguente output:

root      1309  0.0  0.0  73992  4748 ?        Ss   15:52   0:00 /usr/sbin/apache2 -k start
www-data  1310  0.0  0.0 1285068 4620 ?        Sl   15:52   0:00 /usr/sbin/apache2 -k start
www-data  1311  0.0  0.0 1285068 4644 ?        Sl   15:52   0:00 /usr/sbin/apache2 -k start

Puoi anche usare il pidof comando per ottenere un PID di un processo specifico.

pidof apache2

Otterrai il seguente output:

1311 1310 1309

Uccidi un processo in Linux

A questo punto, sai come ottenere il PID di qualsiasi processo. Ora puoi usare il comando kill per terminare un processo in esecuzione.

Per terminare un singolo processo, esegui il seguente comando:

kill PID

Oppure

kill -9 PID

Per terminare più processi, esegui il seguente comando:

kill -9 PID1 PID2 PID3

Puoi anche uccidere i processi con i loro nomi. Puoi usare il pkill comando per terminare un processo in base al suo nome.

Per terminare il processo Apache, esegui il seguente comando:

pkill apache2

Puoi anche usare il killall comando per terminare un processo in base al suo nome:

killall mysqld

Conclusione

In questo post, abbiamo spiegato come trovare e terminare un processo in Linux. Ora puoi eliminare da solo tutti i processi che non rispondono senza riavviare il server. Provalo sull'hosting VPS di Atlantic.Net!


Linux
  1. Come uccidere un processo zombie su Linux

  2. Come impostare i limiti sui processi di esecuzione degli utenti in Linux

  3. Linux:come identificare quale distribuzione Linux è in esecuzione??

  4. Come uccidere un processo in esecuzione su una porta specifica in Linux?

  5. Come uccidere un processo su Linux usando il comando?

Come trovare e uccidere i processi in esecuzione in Linux

Come eliminare l'esecuzione del processo Linux su una porta particolare

Come KILL un processo su Linux

Come uccidere i processi zombi in Ubuntu

Come uccidere i processi in Linux usando kill, killall e pkill

Come terminare i processi MySQL in phpMyAdmin