Python:在没有访问 subprocess.Popen 对象的情况下终止子进程?
Python: terminate subprocess without having access to subprocess.Popen object?
我有一个脚本,我可以使用 subprocess
模块简单地调用 Python 中的子进程,如下所示:
import subprocess
process = subprocess.Popen(['python3', 'some_Python_script.py']
我希望能够terminate/kill这个过程。但是,在创建我的进程后,在我的应用程序中我无法访问 process
对象,因此无法按照 here 中所述使用 process.kill
.[=19 通常终止它=]
但是,有没有办法 "store" 进程的一些唯一 ID,并且以后可以 manipulate/terminate 它(如果它仍然是 运行)?
例如,我在想
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)
我有一个脚本,我可以使用 subprocess
模块简单地调用 Python 中的子进程,如下所示:
import subprocess
process = subprocess.Popen(['python3', 'some_Python_script.py']
我希望能够terminate/kill这个过程。但是,在创建我的进程后,在我的应用程序中我无法访问 process
对象,因此无法按照 here 中所述使用 process.kill
.[=19 通常终止它=]
但是,有没有办法 "store" 进程的一些唯一 ID,并且以后可以 manipulate/terminate 它(如果它仍然是 运行)?
例如,我在想
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)