GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So beenden Sie laufende Prozesse in Linux

Unter Linux wird eine Instanz eines ausgeführten Dienstes, einer Anwendung oder eines Skripts als Prozess bezeichnet. Wenn Sie einen Befehl, ein Programm oder eine Anwendung ausführen, wird ein Prozess dafür erstellt. Jeder Prozess hat seine eigene Prozess-ID, die einem bestimmten Benutzer und einer bestimmten Gruppe zugeordnet ist. Wenn Prozesse zu viele Ressourcen verbrauchen oder nicht mehr reagieren, müssen Sie sie möglicherweise beenden. In diesem Fall können Sie den Prozess mit dem Befehl kill stoppen, ohne Ihren Server neu zu starten.

In diesem Beitrag zeigen wir Ihnen, wie Sie laufende Prozesse unter Linux beenden.

Voraussetzungen

  • Ein Server, auf dem Linux auf der Atlantic.Net Cloud Platform ausgeführt wird
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie ein beliebiges Linux-Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Ausgeführte Prozesse unter Linux anzeigen

Der einfachste und einfachste Weg, eine Liste aller laufenden Prozesse zu erhalten, ist die Verwendung des Befehls top. Sie können den obersten Befehl wie unten gezeigt ausführen, um alle laufenden Prozesse aufzulisten:

top

Sie erhalten alle laufenden Prozesse in der folgenden Ausgabe:

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                                                             

Sie können k drücken und die Prozess-ID eingeben, um den Prozess direkt von der oberen Benutzeroberfläche aus zu beenden.

Finden Sie den Prozess mit dem Befehl ps

ps ist ein Befehlszeilendienstprogramm, das eine vollständige Liste der laufenden Prozesse im angegebenen Format anzeigt.

Die grundlegende Syntax des Befehls ps ist unten dargestellt:

ps [OPTION]

Nachfolgend finden Sie eine kurze Erläuterung der einzelnen Optionen:

  • -a – Laufende Prozesse aller Benutzer anzeigen.
  • -u – Zeigt detaillierte Informationen zu jedem der Prozesse an.
  • -x – Prozesse anzeigen, die vom Daemon gesteuert werden.

Führen Sie beispielsweise den folgenden Befehl aus, um eine detaillierte Prozessliste aller Prozesse zu erhalten.

ps aux

Sie erhalten die folgende Ausgabe:

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]

Der obige Befehl zeigt Ihnen alle laufenden Prozesse. Sie können den grep-Befehl mit dem ps-Befehl verwenden, um eine PID eines bestimmten Prozesses zu erhalten.

Um beispielsweise eine PID eines Apache-Prozesses abzurufen, führen Sie den folgenden Befehl aus:

ps aux | grep apache

Sie erhalten die folgende Ausgabe:

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

Sie können auch das pidof verwenden Befehl, um eine PID eines bestimmten Prozesses zu erhalten.

pidof apache2

Sie erhalten die folgende Ausgabe:

1311 1310 1309

Einen Prozess unter Linux beenden

An diesem Punkt wissen Sie, wie Sie die PID eines beliebigen Prozesses erhalten. Jetzt können Sie den Kill-Befehl verwenden, um einen laufenden Prozess zu beenden.

Führen Sie den folgenden Befehl aus, um einen einzelnen Prozess zu beenden:

kill PID

Oder

kill -9 PID

Führen Sie den folgenden Befehl aus, um mehrere Prozesse zu beenden:

kill -9 PID1 PID2 PID3

Sie können die Prozesse auch anhand ihres Namens beenden. Sie können das pkill verwenden Befehl, einen Prozess anhand seines Namens zu beenden.

Führen Sie den folgenden Befehl aus, um den Apache-Prozess zu beenden:

pkill apache2

Sie können auch den Killall verwenden Befehl, um einen Prozess anhand seines Namens zu beenden:

killall mysqld

Schlussfolgerung

In diesem Beitrag haben wir erklärt, wie man einen Prozess in Linux findet und beendet. Sie können jetzt alle nicht reagierenden Prozesse selbst beenden, ohne Ihren Server neu zu starten. Probieren Sie es auf VPS-Hosting von Atlantic.Net aus!


Linux
  1. So beenden Sie einen Zombie-Prozess unter Linux

  2. So legen Sie Limits für Benutzerprozesse unter Linux fest

  3. Linux – Wie erkennt man, welche Linux-Distribution läuft?

  4. Wie beendet man einen Prozess unter Linux mit dem Befehl?

  5. Wie beende ich Prozesse, die älter als t sind?

So finden und beenden Sie laufende Prozesse in Linux

So beenden Sie den laufenden Linux-Prozess auf einem bestimmten Port

Wie man einen Prozess unter Linux beendet

So töten Sie Zombie-Prozesse in Ubuntu

So beenden Sie Prozesse in Linux mit kill, killall und pkill

So beenden Sie MySQL-Prozesse in phpMyAdmin