【问题标题】:How to kill child processes when killing from pid file从pid文件中杀死时如何杀死子进程
【发布时间】:2013-11-12 20:43:09
【问题描述】:
kill -9 `cat ~/code/posbox/posbox.pid` 

我正在运行上面的命令来杀死一个进程。 pid 在文件中,它正确地杀死了进程,但子进程仍在运行

当我这样做时

kill <PID number> 

它会连同所有子进程一起杀死该进程。如何从 pid 文件中给出的 pid 中杀死所有父进程和子进程?

【问题讨论】:

  • 你试过man kill吗?
  • @KevinDTimm help kill 与 bash 内置 :) 更相关
  • @gniourf_gniourf - 你们这些孩子和你们的新奇玩具;)

标签: macos bash shell scripting


【解决方案1】:

既然kill &lt;PID number&gt; 有效,就用它吧:

# By default, send SIGTERM, not SIGKILL (9)
kill $(cat ~/code/posbox/posbox.pid)

听起来您的进程捕获了 TERM 信号并在退出之前将其传递给它的子进程,让它们都干净地退出。使用kill -9立即结束父级,根本没有机会告诉其子级退出。

【讨论】:

    猜你喜欢
    • 2010-12-08
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 2014-08-30
    相关资源
    最近更新 更多