繁体   English   中英

Python:在无法访问 subprocess.Popen 对象的情况下终止子进程?

[英]Python: terminate subprocess without having access to subprocess.Popen object?

我有一个脚本,我可以在其中使用subprocess模块在 Python 中调用一个子subprocess ,如下所示:

import subprocess
process = subprocess.Popen(['python3', 'some_Python_script.py']

我希望能够终止/终止这个进程。 但是,创建我的过程后,在我的应用我失去访问process的对象,因此,我不能够经常终止其作为描述在这里,使用process.kill

但是,有没有办法“存储”进程的某些唯一 ID,并且以后能够操作/终止它(如果它仍在运行)?

例如,我在想类似的事情

process = subprocess.Popen(['python3', 'some_Python_script.py']
process_ID_string = process.id
...
...
*later on*
subprocess.kill(process_id = process_ID_string)

subprocess模块可以做到这样的事情吗?

import subprocess, os, signal

process = subprocess.Popen(['python3', 'some_Python_script.py']
processId = process.pid

# later on
os.kill(processId, signal.SIGTERM)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM