使用子进程调用停止bash脚本

时间:2014-10-22 02:50:17

标签: bash subprocess

您好我正在使用subprocess.call("sudo bash /home/pi/Desktop/switchtest.sh", shell=True)启动python脚本。 switchtest.sh的内容为sudo python /home/pi/Desktop/switch1.py。现在,使用相同的subprocess调用如何阻止python脚本运行?或者还有其他方法可以阻止这种情况吗?

1 个答案:

答案 0 :(得分:0)

subprocess.call是同步的,因此在脚本完成之前它不会返回。你可以用popen来做异步:

p = subprocess.Popen("sudo bash /home/pi/Desktop/switchtest.sh", shell=True)
# do something else, polling or waiting perhaps
# now kill it
p.terminate()