Heim  >  Artikel  >  System-Tutorial  >  Wie kann man unter Linux einen Prozess über die Befehlszeile beenden?

Wie kann man unter Linux einen Prozess über die Befehlszeile beenden?

王林
王林nach vorne
2024-03-23 14:50:03992Durchsuche

Die Linux-Befehlszeile verfügt über alle Tools, die Sie benötigen, um einen laufenden Prozess zu stoppen. Jack Wallen verrät Ihnen die Details.
Wie kann man unter Linux einen Prozess über die Befehlszeile beenden?

Stellen Sie sich Folgendes vor: Sie öffnen ein Programm (vielleicht über Ihr Desktop-Menü oder über die Befehlszeile), beginnen dann mit der Verwendung des Programms und erwarten nicht, dass das Programm abstürzt, nicht mehr ausgeführt wird oder unerwartet abstürzt. Sie versuchen, das Programm erneut auszuführen, es meldet jedoch, dass der ursprüngliche Prozess nicht vollständig beendet wurde.

Was sollten Sie tun? Sie möchten den Vorgang beenden. Aber wie? Ob Sie es glauben oder nicht, die besten Lösungen liegen meist in der Befehlszeile. Zum Glück verfügt Linux über alle notwendigen Tools, mit denen Benutzer den fehlerhaften Prozess beenden können. Bevor Sie jedoch den Befehl zum Beenden des Prozesses ausführen können, müssen Sie zunächst wissen, um welchen Prozess es sich handelt. Wie man mit dieser Art von Aufgabe umgeht. Sobald man den Dreh raus hat mit diesem Tool, ist es eigentlich ganz einfach...

Die Schritte, die ich skizzieren werde, gelten für jede Linux-Distribution, egal ob Desktop oder Server. Ich werde mich auf die Befehlszeile beschränken, also öffnen Sie bitte Ihr Terminal und beginnen Sie mit der Eingabe von Befehlen.

Standortprozess

Der erste Schritt beim Beenden eines nicht reagierenden Prozesses besteht darin, den Prozess zu lokalisieren. Es gibt zwei Befehle, die ich zum Auffinden von Prozessen verwende: die Befehle top und ps. top ist ein Tool, das jeder Systemadministrator kennt. Mit dem top-Befehl können Sie alle aktuell laufenden Prozesse kennen. Geben Sie in der Befehlszeile den oberen Befehl ein, um den laufenden Programmprozess anzuzeigen (Abbildung 1)

Wie kann man unter Linux einen Prozess über die Befehlszeile beenden?

Abbildung 1: Der obere Befehl gibt Ihnen viele Informationen.

Sie können der angezeigten Liste sehr wichtige Informationen entnehmen. Beispielsweise reagiert der Chrome-Browser langsam. Anhand unserer oberen Befehlsanzeige können wir vier laufende Chrome-Browser-Prozesse identifizieren. Die Zahlen lauten 3827. 3919, 10764 bzw. 11679. Diese Informationen sind wichtig und können in besonderer Weise zur Beendigung des Prozesses genutzt werden.

Obwohl der obere Befehl sehr praktisch ist, ist er nicht der effizienteste Weg, um die gewünschten Informationen zu erhalten. Sie wissen, welchen Chrome-Prozess Sie beenden möchten, und möchten nicht, dass die vom oberen Befehl angezeigten Echtzeitinformationen angezeigt werden. Aus diesem Grund können Sie den Befehl ps und dann den Befehl grep verwenden, um die Ausgabe zu filtern. Der Befehl ps zeigt einen Schnappschuss der aktuellen Prozessliste an und verwendet dann den Befehl grep, um passende Muster auszugeben. Der Grund, warum wir die Ausgabe des ps-Befehls über den grep-Befehl filtern, ist einfach: Wenn Sie einfach den ps-Befehl eingeben, erhalten Sie einen Snapshot der Liste aller aktuellen Prozesse, und wir müssen den Chrome-Browserprozess auflisten verwandt. Der Befehl sieht also so aus:

ps aux | grep chrome

Hier sehen die Aux-Optionen so aus:

  • a = Prozesse für alle Benutzer anzeigen
  • u = Benutzer und Eigentümer des Prozesses anzeigen
  • x = zeigt auch Prozesse an, die nicht an das Terminal angeschlossen sind

Dieser x-Parameter ist wichtig, wenn Sie nach Informationen zu grafischen Programmen suchen.

Wenn Sie den obigen Befehl eingeben, erhalten Sie mehr Informationen als in Abbildung 2 und er ist manchmal effektiver als der obere Befehl.

Wie kann man unter Linux einen Prozess über die Befehlszeile beenden?

Abbildung 2: Verwenden Sie den Befehl ps, um die erforderlichen Inhaltsinformationen zu finden.

Prozess beenden

现在我们开始结束进程的任务。我们有两种可以帮我们杀死错误的进程的信息。

  • 进程的名字
  • 进程的 ID (PID)

你用哪一个将会决定终端命令如何使用,通常有两个命令来结束进程:

  • kill - 通过进程 ID 来结束进程
  • killall - 通过进程名字来结束进程

有两个不同的信号能够发送给这两个结束进程的命令。你发送的信号决定着你想要从结束进程命令中得到的结果。举个例子,你可以发送 HUP(挂起)信号给结束进程的命令,命令实际上将会重启这个进程。当你需要立即重启一个进程(比如就守护进程来说),这是一个明智的选择。你通过输入 kill -l 可以得到所有信号的列表,你将会发现大量的信号。

Wie kann man unter Linux einen Prozess über die Befehlszeile beenden?

图 3: 可用的结束进程信号。

最经常使用的结束进程的信号是:

好的是,你能用信号值来代替信号名字。所以你没有必要来记住所有各种各样的信号名字。

所以,让我们现在用 kill 命令来杀死 Chrome 浏览器的进程。这个命令的结构是:

kill SIGNAL PID

这里 SIGNAL 是要发送的信号,PID 是被杀死的进程的 ID。我们已经知道,来自我们的 ps 命令显示我们想要结束的进程 ID 号是 3827、3919、10764 和 11679。所以要发送结束进程信号,我们输入以下命令:

kill -9 3827
kill -9 3919
kill -9 10764
kill -9 11679

一旦我们输入了以上命令,Chrome 浏览器的所有进程将会成功被杀死。

我们有更简单的方法!如果我们已经知道我们想要杀死的那个进程的名字,我们能够利用 killall 命令发送同样的信号,像这样:

killall -9 chrome

附带说明的是,上边这个命令可能不能捕捉到所有正在运行的 Chrome 进程。如果,运行了上边这个命令之后,你输入 ps aux | grep chrome 命令过滤一下,看到剩下正在运行的 Chrome 进程有那些,最好的办法还是回到 kIll 命令通过进程 ID 来发送信号值 9 来结束这个进程。

结束进程很容易

正如你看到的,杀死错误的进程并没有你原本想的那样有挑战性。当我让一个顽固的进程结束的时候,我趋向于用 killall命令来作为有效的方法来终止,然而,当我让一个真正的活跃的进程结束的时候,kill命令是一个好的方法。


Das obige ist der detaillierte Inhalt vonWie kann man unter Linux einen Prozess über die Befehlszeile beenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen