gpt4 book ai didi

python - os.killpg 寻找什么 PID

转载 作者:太空宇宙 更新时间:2023-11-03 11:48:32 31 4
gpt4 key购买 nike

我正在编写代码来终止进程和所有子进程。

根据 this post ,可以使用 os.killpg(pro.pid, signal.SIGTERM)

杀死同一进程组中的所有子进程

在测试期间,我手动启动了这个进程,它产生了 5 个子进程。

    UID      PID  PPID  C STIME TTY          TIME CMD
ddd 25066 19475 0 Nov03 ? 00:00:00 /bin/sh -c gtdownload -c ~/.cghub.key --max-children 4 -vv -d https://cghub.ucsc.edu/cghub/data/analysis/download/ab0e89b4-5310-11e4-88da-adc9fc308db6 2
ddd 25067 25066 0 Nov03 ? 00:00:07 /rsrch1/rists/djiao/apps/cghub/libexec/gtdownload -c /rsrch1/rists/djiao/.cghub.key --max-children 4 -vv -d https://cghub.ucsc.edu/cghub/data/analysis/d
ddd 25073 25067 0 Nov03 ? 00:00:18 /rsrch1/rists/djiao/apps/cghub/libexec/gtdownload -c /rsrch1/rists/djiao/.cghub.key --max-children 4 -vv -d https://cghub.ucsc.edu/cghub/data/analysis/d
ddd 25077 25067 0 Nov03 ? 00:00:18 /rsrch1/rists/djiao/apps/cghub/libexec/gtdownload -c /rsrch1/rists/djiao/.cghub.key --max-children 4 -vv -d https://cghub.ucsc.edu/cghub/data/analysis/d
ddd 25081 25067 0 Nov03 ? 00:00:18 /rsrch1/rists/djiao/apps/cghub/libexec/gtdownload -c /rsrch1/rists/djiao/.cghub.key --max-children 4 -vv -d https://cghub.ucsc.edu/cghub/data/analysis/d
ddd 25085 25067 0 Nov03 ? 00:00:18 /rsrch1/rists/djiao/apps/cghub/libexec/gtdownload -c /rsrch1/rists/djiao/.cghub.key --max-children 4 -vv -d https://cghub.ucsc.edu/cghub/data/analysis/d

但是,当我运行 os.killpg(25066, signal.SIGTERM) 时,出现错误“OSError: [Errno 3] No such process”。为什么找不到具有该 ID 的进程?

最佳答案

在调用os.killpg() 之前,您需要使用os.setpgrp() 设置进程组。如果您不设置任何进程组,那么您将无法使用 os.killpg()

终止它

您可以使用以下方式创建进程组:

  1. os.setpgrp() -- 如果没有传递参数则它等同于 os.setpgrp(0,0)。这将创建一个 ID 与调用进程 ID 相同的进程组。
  2. os.setpgrp(0, 999) -- 它将创建一个 ID 为 999 的进程组,当前进程将成为该组的一部分。您可以使用任何进程 ID 而不是 0 来使其成为该进程组的一部分。

os.setpgrp()其实调用的是linux系统调用setpgrp()。有关详细信息,请参见以下 linux 手册页: https://linux.die.net/man/2/setpgrp

http://man7.org/linux/man-pages/man2/setpgid.2.html

关于python - os.killpg 寻找什么 PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529031/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com