gpt4 book ai didi

python - PID 号不匹配

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:31 25 4
gpt4 key购买 nike

我使用以下代码(只是相关代码)在 Python 中生成了一个进程:

...
_LAUNCH_CMD = '/usr/bin/omxplayer -s --vol %s %s %s'
...
cmd = self._LAUNCH_CMD % (volume, args, file)
...
self._process = pexpect.spawn(cmd, timeout=5)

它总是正常启动。在某些情况下,我需要获取进程的 PID 并从 python 代码中将其终止。我试过了

self._process.pid

它给了我一个 PID,但过了一段时间我意识到它不起作用,因为这个命令返回的数字总是比实际进程少 10。例如,当 omxplayer 运行并且我使用之前的命令检查 PID 时它返回“24178”,但是当我使用“pidof omxplayer.bin”时它返回“24188”。我不知道 10 是常数还是可以改变,所以我认为像这样硬编码它不是一个好主意

os.system("kill -9 %s" % (self._process.pid + 10))

有人知道造成差异的原因或解决方案吗?

最佳答案

可能 /usr/bin/omxplayer 是执行 omxplayer.bin 的包装器,它被分配了一个新的 PID。如果您直接执行 omxplayer.bin,您将避免手头的问题,但您需要在启动之前完成 /usr/bin/omxplayer 正在做的工作真正的二进制文件。 PID 是随机的,因此您不能打赌 PID 总是相差 10。

关于python - PID 号不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37340957/

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