python怎么按键开始与停止_使用Python启动和停止子流程
我正在嘗試通過MQTT命令在設備上啟動和停止程序,但是它并沒有真正實現我希望的方式.
要開始該過程,我正在使用:
p = subprocess.Popen(["sh", "process.sh"])
效果很好,它啟動了程序.
在代碼的最下面,我嘗試使用p.kill或p.terminate殺死/終止程序,但它返回了代碼:
p.terminate()
UnboundLocalError: local variable 'p' referenced before assignment
我正在使用的代碼是我自己的,如下所示:
def on_message(client, userdata, msg):
if msg.payload == "start":
p = subprocess.Popen(["sh", "stream.sh"])
if msg.payload == "stop":
p.terminate()
解決方法:
p = None
def on_message(client, userdata, msg):
global p
if msg.payload == "start":
p = subprocess.Popen(["sh", "stream.sh"])
if msg.payload == "stop" and p:
p.terminate()
標簽:python
總結
以上是生活随笔為你收集整理的python怎么按键开始与停止_使用Python启动和停止子流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 修改用户组_linux小白到
- 下一篇: tomcat 端口_【Java】指定端口