例如来自 bash:
kill -9 -PID
os.kill(pid, signal.SIGKILL)
仅终止父进程。
原文由 Bdfy 发布,翻译遵循 CC BY-SA 4.0 许可协议
例如来自 bash:
kill -9 -PID
os.kill(pid, signal.SIGKILL)
仅终止父进程。
原文由 Bdfy 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果父进程不是“进程组”,但你想用子进程杀死它,你可以使用 psutil ( https://psutil.readthedocs.io/en/latest/#processes )。 os.killpg 无法识别非进程组的 pid。
import psutil
parent_pid = 30437 # my example
parent = psutil.Process(parent_pid)
for child in parent.children(recursive=True): # or parent.children() for recursive=False
child.kill()
parent.kill()
原文由 jung rhew 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答4.9k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
4 回答795 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
当您将 负 PID 传递给
kill
时,它实际上通过该(绝对)数字将信号发送到进程 _组_。您在 Python 中使用os.killpg()
执行等效操作。