虚拟主机域名注册-常见问题 → 服务器知识 → 操作系统 | ||||
方法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进程的名称。
|
||||
>> 相关文章 | ||||
没有相关文章。 |