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)