私は、次のコード(単に関連するコード)とPythonでプロセスを生成:PID番号不一致
...
_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コードから削除する必要があります。私は、このコマンドは常に実際のプロセスより10少ない数を返すので、それは私にPIDを与えるが、いくつかの時間後、私はそれが機能しなかったことに気づき
self._process.pid
を試してみました。 たとえば、omxplayerが実行され、前のコマンドでPIDをチェックすると "24178"が返されますが、 "pidof omxplayer.bin"を使用すると "24188"が返されます。私は10が一定であることを知っていないか、それはそう変更することができ、私はそれが良いハードコードするアイデアそれは
os.system("kill -9 %s" % (self._process.pid + 10))
誰でも差が生じるか、何が解決策になることができます知っているようなものであるとは思いませんか?