使用python启动进程并获取PID(Linux)

时间:2016-04-03 21:50:58

标签: python linux alsa

我正在使用带有Yocto图像的Intel Galileo上的Iot,我知道python脚本将执行'aplay audio.wav',但是我希望它也可以获得该aplay过程的PID,以防万一程序将不得不停止它。很抱歉非常简短。

2 个答案:

答案 0 :(得分:4)

pid对象的subprocess.Popen属性包含其PID,但如果您需要终止子进程,那么您应该只使用terminate()方法。

如果你需要更好地控制音频,你应该考虑使用pyao或pygst / gst-python。

答案 1 :(得分:0)

使用Python:

import os

my_pid = os.getpid()
f_pid = open('/var/run/app.pid', 'w')
f_pid.write(my_pid)
f_pid.close()

但是如果您正在使用该游戏,那么您是否正在为Python进行syscall()?您可以通过Shell脚本直接执行并轻松获取PID:

echo $! > /var/run/$0.pid

您可以阅读file.pid并为PID发送 kill