按照名字杀死进程的四种方法

太长不看版:

匹配方式 模糊匹配 精确匹配
匹配命令 pgrep pidof
kill命令 kill -9 $(pgrep <proc-name>) | kill -9 $(pidof <proc-name>)
组合命令 pkill -9 <proc-name> killall -9 <proc-name>

以下是正文

按照名字杀死进程的四种方法

根据名字杀死进程的需求来自于同时杀死一组进程,如MPI程序的进程。杀死单个进程只需要top或者ps命令找到进程然后直接kill -9 <pid>就可以了。

要使用kill命令杀死进程,首先需要找出进程的pid。根据进程名称查找pid,有精确匹配和模糊匹配两种方式:

  • pidof 精确匹配找出进程pid
  • pgrep 模糊匹配找出进程pid

得到精确进程名的方法参照杀死单个进程的办法,使用top或者ps命令。

拿到一组进程pid之后可以使用kill命令批量杀死:

  • kill -9 $(pidof <proc-name>) 精确匹配杀死进程
  • kill -9 $(pgrep <proc-name>) 模糊匹配杀死进程

有两个命令,分别相当于killpidof或者pgrep命令的组合:

  • killall -9 <proc-name> 相当于pidof+kill
  • pkill -9 <proc-name> 相当于pgrep+kill

这里用到的-9实际上指的是发送SIGKILL信号给进程,这是一种比较强力的结束信号,默认的是-15也就是SIGTERM信号。

posted @ 2020-10-11 11:48  与MPI做斗争  阅读(3443)  评论(0编辑  收藏  举报