Maison  >  Article  >  Tutoriel système  >  Comment TUER un processus depuis la ligne de commande sous Linux ?

Comment TUER un processus depuis la ligne de commande sous Linux ?

王林
王林avant
2024-03-23 14:50:031076parcourir

La ligne de commande Linux dispose de tous les outils dont vous avez besoin pour arrêter un processus en cours. Jack Wallen vous donne les détails.
Comment TUER un processus depuis la ligne de commande sous Linux ?

Imaginez ceci : vous ouvrez un programme (peut-être à partir du menu de votre bureau ou de la ligne de commande), puis commencez à utiliser le programme, et vous ne vous attendez pas à ce qu'il se bloque, s'arrête de fonctionner ou plante de manière inattendue. Vous essayez d'exécuter à nouveau le programme, mais il vous indique que le processus d'origine ne s'est pas complètement arrêté.

Que devez-vous faire ? Vous souhaitez mettre fin au processus. Mais comment? Croyez-le ou non, les meilleures solutions se trouvent principalement dans la ligne de commande. Heureusement, Linux dispose de tous les outils nécessaires permettant aux utilisateurs de tuer le processus errant. Cependant, avant de pouvoir exécuter la commande pour tuer le processus, vous devez d'abord savoir de quoi il s'agit. Comment gérer ce type de tâche. Une fois que vous maîtrisez cet outil, c'est en fait assez simple...

Les étapes que j'ai décrites sont applicables à chaque distribution Linux, qu'elle soit de bureau ou de serveur. Je vais me limiter à la ligne de commande, alors veuillez ouvrir votre terminal et commencer à taper des commandes.

Processus de localisation

La première étape pour tuer un processus qui ne répond pas est de localiser le processus. J'utilise deux commandes pour localiser les processus : les commandes top et ps. top est un outil que tout administrateur système connaît. Avec la commande top, vous pouvez connaître tous les processus en cours d'exécution. Dans la ligne de commande, entrez la commande top pour voir le processus de votre programme en cours d'exécution (Figure 1)

Comment TUER un processus depuis la ligne de commande sous Linux ?

Figure 1 : La commande supérieure vous donne de nombreuses informations.

Vous pouvez voir des informations très importantes dans la liste affichée. Par exemple, le navigateur Chrome est lent à répondre. Selon notre commande supérieure, nous pouvons identifier quatre processus du navigateur Chrome en cours d'exécution et le pid du processus. Les numéros sont 3827, 3919. , 10764 et 11679 respectivement. Ces informations sont importantes et peuvent être utilisées de manière particulière pour terminer le processus.

Bien que la commande top soit très pratique, ce n'est pas le moyen le plus efficace d'obtenir les informations souhaitées. Vous savez quel processus Chrome vous souhaitez supprimer et vous ne souhaitez pas voir les informations en temps réel affichées par la commande top. Pour cette raison, vous pouvez utiliser la commande ps puis la commande grep pour filtrer la sortie. La commande ps affiche un instantané de la liste des processus actuelle, puis utilise la commande grep pour générer des modèles correspondants. La raison pour laquelle nous filtrons la sortie de la commande ps via la commande grep est simple : si vous entrez simplement la commande ps, vous obtiendrez un instantané de la liste de tous les processus en cours, et ce dont nous avons besoin est de lister le processus du navigateur Chrome. en rapport. La commande ressemble donc à ceci :

ps aux | grep chrome

Ici, les options auxiliaires ressemblent à ceci :

  • a = Afficher les processus pour tous les utilisateurs
  • u = Afficher l'utilisateur et le propriétaire du processus
  • x = affiche également les processus qui ne sont pas attachés au terminal

Ce paramètre x est important lorsque vous recherchez des informations sur les programmes graphiques.

Lorsque vous entrez la commande ci-dessus, vous obtiendrez plus d'informations que la figure 2, et elle est parfois plus efficace que la commande supérieure.

Comment TUER un processus depuis la ligne de commande sous Linux ?

Figure 2 : Utilisez la commande ps pour localiser les informations de contenu requises.

Fin du processus

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

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

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

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

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

Comment TUER un processus depuis la ligne de commande sous Linux ?

图 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命令是一个好的方法。


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer