多语言展示
当前在线:261今日阅读:113今日分享:31

如何在命令行杀死一个进程

您已经启动了一个应用程序(无论是从您最喜爱的桌面菜单还是从命令行),并且开始使用该启动的应用程序,只能将其锁定在您上,停止执行或意外死亡。您尝试再次运行该应用程序,但事实证明,原始版本不会完全关闭。更多知识请查看《Linux就该这么学》。
方法/步骤
2

从这个列表中你会看到一些相当重要的信息。比方说,Chrome已经变得没有反应。根据我们的顶级 显示,我们可以看出,使用进程ID(PID)3827,3919,10764和11679有四种运行的chrome实例。使用一种特定的杀死进程的方法,这个信息将是重要的。虽然顶部是非常方便,但并不总是获得所需信息的最有效手段。假设您知道Chrome进程是您需要杀死的,而您不希望看到顶部提供的实时信息。为此,您可以使用ps命令并通过grep过滤输出。的PS命令报告的当前过程,并快照的grep模式匹配的打印线。我们通过grep过滤ps的原因很简单:如果您自己发出ps命令,您将获得所有当前进程的快照列表。我们只想要与Chrome关联的列表。ps aux | grep chrome该辅助选项如下:a =为所有用户显示进程u =显示进程的用户/所有者x =还显示未附加到终端的进程当您搜索有关图形应用程序的信息时,x选项很重要。当您发出上述命令时,您将获得比您需要的更多信息(图2),以防止某个进程的死亡,但有时比使用top更有效。

3

杀死进程现在我们来到杀死这个过程的任务。我们有两个信息将帮助我们杀死错误的过程:1、进程名称2、进程ID您使用的将确定用于终止的命令。有两个命令用于杀死进程:1、杀死 - 通过ID杀死一个进程2、killall - 按名称杀死一个进程还可以将不同的信号发送到两个kill命令。您发送的信号将由kill命令中要求的结果决定。例如,您可以将HUP(挂起)信号发送到kill命令,这将有效地重新启动该过程。当您需要立即重新启动的过程(例如,在守护程序的情况下),这永远是一个明智的选择。您可以通过发出kill -l来获取可以发送到kill命令的所有信号的列表。你会发现很多信号

4

最常见的杀戮信号是:信号名称单值影响SIGHUP1挂断SIGINT2从键盘中断SIGKILL9杀死信号SIGTERM15终止信号SIGSTOP17,19,23停止进程这是很好的,您可以使用信号值代替信号名称。所以你不必记住各种信号的所有名称。所以,现在我们使用kill命令来杀死我们的chrome实例。此命令的结构将是:kill SIGNAL PID其中SIGNAL是要发送的信号,PID是要被杀死的进程ID。我们已经知道,从我们的ps命令我们要杀死的ID是3827,3919,10764和11679.所以要发送杀死信号,我们会发出命令:一旦我们发布了上述命令,所有的chrome进程都将被成功地杀死。我们走简单的路线!如果我们已经知道我们想要杀死的进程被命名为chrome,我们可以利用killall命令并发送相同的信号,如下所示:kill -9 3827 kill -9 3919 kill -9 10764 kill -9 11679上述命令的唯一注意事项是它可能无法捕获所有正在运行的chrome进程。如果在运行上述命令之后,您发出ps aux | grep chrome命令并查看剩余的进程运行,最好的方法是返回kill命令并发送信号9以通过PID终止进程。

5

结束过程变得容易正如你所看到的,杀死错误的过程并不像你以前想象的那样具有挑战性。当我结束一个顽固的过程时,我倾向于从killall命令开始,因为它是最有效的终止路线。然而,当你结束一个非常有魅力的过程,杀死命令就是要走的路。

注意事项

通过Linux基础和edX 的免费“ Linux简介” 课程了解Linux的更多信息 。

推荐信息