我有一个脚本,可以使用subprocess
模块在Python中简单地调用子进程,如下所示:
import subprocess
process = subprocess.Popen(['python3', 'some_Python_script.py']
我希望能够终止/终止该过程。但是,在创建过程之后,在我的应用程序中,我无法访问process
对象,因此无法按照here所述使用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
模块是否可以实现这种功能?我希望对此提出任何建议。
答案 0 :(得分:2)
import subprocess, os, signal
process = subprocess.Popen(['python3', 'some_Python_script.py']
processId = process.pid
# later on
os.kill(processId, signal.SIGTERM)