查找过程
杀死无反应过程的第一步就是找到它。有两个命令用于定位一个进程:top和ps。顶部是每个管理员应该知道的工具。随着顶部,您将获得当前正在运行的进程的完整列表。从命令行,发回顶部查看正在运行的进程的列表
从这个列表中你会看到一些相当重要的信息。比方说,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更有效。
杀死进程
现在我们来到杀死这个过程的任务。我们有两个信息将帮助我们杀死错误的过程:
1、进程名称
2、进程ID
您使用的将确定用于终止的命令。有两个命令用于杀死进程:
1、杀死 – 通过ID杀死一个进程
2、killall – 按名称杀死一个进程
还可以将不同的信号发送到两个kill命令。您发送的信号将由kill命令中要求的结果决定。例如,您可以将HUP(挂起)信号发送到kill命令,这将有效地重新启动该过程。当您需要立即重新启动的过程(例如,在守护程序的情况下),这永远是一个明智的选择。您可以通过发出kill -l来获取可以发送到kill命令的所有信号的列表。你会发现很多信号
最常见的杀戮信号是:
信号名称 | 单值 | 影响 |
---|---|---|
SIGHUP | 1 | 挂断 |
SIGINT | 2 | 从键盘中断 |
SIGKILL | 9 | 杀死信号 |
SIGTERM | 15 | 终止信号 |
SIGSTOP | 17,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终止进程。
结束过程变得容易
正如你所看到的,杀死错误的过程并不像你以前想象的那样具有挑战性。当我结束一个顽固的过程时,我倾向于从killall命令开始,因为它是最有效的终止路线。然而,当你结束一个非常有魅力的过程,杀死命令就是要走的路。 通过Linux基础和edX 的免费“ Linux简介” 课程了解Linux的更多信息 。
以上就是
为各位朋友分享的 相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!