虚拟主机域名注册-常见问题服务器知识 → 操作系统

Linux 使用什么命令终止无响应进程

  方法1:使用kill命令

  由于kill命令的简单性和鲁棒性,它被Linux管理员广泛使用。它需要过程的PID和信号。内核根据该信号终止/停止进程的执行。您可以使用下一个命令查看kill命令的所有可用信号。

  $ kill -l

  如您所见,kill提供了64种不同的信号。但是,本建议仅讨论其中两个。它们是信号9(SIGKILL)和信号15(SIGTERM)。信号或信号15是消除无响应进程的安全方法。另一方面,SIGKILL或信号9强行终止Linux进程。

  $ kill -9 8631

  $ kill -KILL 8631

  上面的命令是等效的,它们将强制终止具有PID 8631的进程。这就是我系统中进程“ nano”的PPID。将其替换为系统中无响应进程的PID。

  $ kill -15 8631

  $ kill -TERM 8631

  上面的命令也是等效的,可以正常终止进程。这就是为什么要花一些时间才能终止该过程。此外,如果进程由另一个用户拥有,则可能需要在kill命令之前附加sudo。

  方法2:使用pkill命令

  pkill命令是Linux中功能最丰富的进程管理命令。它使我们能够根据其名称,PID,所有者和其他运行时属性来取消无响应的进程。对于入门用户或不熟悉许多标准终端命令的用户来说,这是一个完美的工具。

  $ pkill nano

  $ pkill 8631

  $ pkill -e nano

  $ pkill -f nano

  您可以使用上述任何pkill命令来终止Linux中的僵尸/无响应进程。如果要确认Linux Kill作业,请使用-e选项。pkill命令还允许用户发送特定的终止信号。

  方法3:使用killall命令

  killall命令允许用户根据其名称终止无响应的进程。它更易于使用,但如果不谨慎,可能会造成麻烦。由于killall会根据名称终止进程,因此总是有机会最终偶然终止进程。例如,如果系统中有可用的nano的不同版本,则第一个示例将终止所有这些版本。

  $ killall nano

  $ killall --verbose nano

  $ killall --interactive nano

  $ killall --signal KILL nano

  第一个示例显示了Linux中killall命令的基本用法。第二个命令将报告终止作业是否成功,第三个命令将在终止过程之前要求用户确认。默认情况下,killall使用SIGTERM信号终止进程。但是,您可以手动指定信号,如上例所示。

  方法4:使用方便的单行

  Linux的真正魅力在于,它允许用户根据自己的需求创建复杂的命令组合。

  $ nano > /dev/null &

  $ kill -9 $(pgrep nano)

  $ ps aux | grep -e 'nano' | awk '{print $2}' | xargs kill -9

  在第一个示例中,我们使用了shell插值将进程“ nano”的PID传递给Linux kill命令。第二个示例利用几个日常终端命令和I / O重定向来终止该过程。

  方法5:使用Linux Shell脚本终止多个进程

  有时,用户可能希望终止多个过程。我们可以通过编写简单的shell脚本轻松地自动化这些任务。如果您对此主题感兴趣,请查看我们先前关于Linux Shell脚本的建议。以下脚本将检索您要终止的进程的PPID,然后使用终止信号终止它们。

  $ nano proc-killer.sh

  #!/usr/bin/env bash

  for pro in "$@"

  do

  pid=$(pgrep $pro | head -1)

  echo $pid

  comm="kill -9 $pid"

  eval $comm

  done

  现在,保存该文件并通过发出以下命令来添加执行权限。

  $ chmod +x proc-killer.sh

  现在,您可以向该脚本传递要终止的进程的名称。

  $ ./proc-killer.sh nano gedit vlc

  只需将参数替换为系统中无响应Linux进程的名称。




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:bkook@qq.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:linux 怎么使用命令Bash Shell 获取进程 PID
下一篇:Linux Mint 重置root密码方法
  >> 相关文章
没有相关文章。
0

在线
客服

在线客服服务时间:9:00-18:00

客服
热线

19899115815
7*24小时客服服务热线

关注
微信

关注官方微信
顶部