Linux系统中有效地管理进程的8个命令介绍说明( 三 )


1) SIGHUP2) SIGINT3) SIGQUIT4) SIGILL5) SIGTRAP 6) SIGABRT7) SIGBUS8) SIGFPE9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM注意第 9 号信号是 SIGKILL ,通常,我们会发出比如 kill -9 20896 这样的命令 。默认信号是 15,这是 SIGTERM。请记住,许多应用程序都有自己的停止方法 。Nginx 使用 -s 选项传递信号,如 stop 或 reload。通常,我更喜欢使用应用程序的特定方法来停止操作 。然而,我将演示用 kill 命令来停止 Nginx 进程 20896,然后用 pgrep 确认它已经停止 。PID 20896 就不再出现 。
alan@workstation:~$ kill -9 20896 alan@workstation:~$ pgrep nginx20881208822089522123PKILL
命令 pkill 类似于 pgrep ,因为它可以按名称搜索 。这意味着在使用 pkill 时必须非常小心 。在我的 Nginx 示例中,如果我只想杀死一个 Nginx 实例,我可能不会选择使用它 。我可以将 Nginx 选项 -s stop 传递给特定的实例来消除它,或者我需要使用 grep 来过滤整个 ps 输出 。
/home/alan/web/prod/nginx/sbin/nginx -s stop/home/alan/web/prod/nginxsec/sbin/nginx -s stop如果我想使用 pkill ,我可以包括 -f 选项,让 pkill 过滤整个命令行参数 。这当然也适用于 pgrep。所以,在执行 pkill -f 之前,首先我可以用 pgrep -a 确认一下 。
alan@workstation:~$ pgrep -a nginx20881 nginx: master process ./nginx -p /home/alan/web/prod/nginxsec20882 nginx: worker process20895 nginx: master process nginx20896 nginx: worker process我也可以用 pgrep -f 缩小我的结果 。pkill 使用相同参数会停止该进程 。
alan@workstation:~$ pgrep -f nginxsec20881alan@workstation:~$ pkill -f nginxsecpgrep (尤其是 pkill )要记住的关键点是,您必须始终确保搜索结果准确性,这样您就不会无意中影响到错误的进程 。
大多数这些命令都有许多命令行选项,所以我总是建议阅读每一个命令的 man 手册页。虽然大多数这些命令都存在于 Linux、Solaris 和 BSD 等平台上,但也有一些不同之处 。在命令行工作或编写脚本时,始终测试并随时准备根据需要进行更正 。
via: https://opensource.com/article/18/9/linux-commands-process-management
作者: Alan Formy-Duval 选题: lujun9972 译者: heguangzhi 校对: wxy
总结
【Linux系统中有效地管理进程的8个命令介绍说明】以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持 。

推荐阅读