如何终止在 Windows 中使用 subprocess.pOpen() 打开的这个 python 进程?
How to kill this python process opened using subprocess.pOpen() in Windows?
下面用于终止使用 subprocess.Popen()
打开的进程的代码适用于 Linux。
import os
import signal
import subprocess
# The os.setsid() is passed in the argument preexec_fn so
# it's run after the fork() and before exec() to run the shell.
pro = subprocess.Popen(cmd, stdout=subprocess.PIPE,
shell=True, preexec_fn=os.setsid)
os.killpg(os.getpgid(pro.pid), signal.SIGTERM) # Send the signal to all the process groups
遗憾的是,它不适用于 Windows。该进程拒绝被杀死。如何修改代码,使进程可以在 Windows?
结束
我在 Anaconda 上使用 Windows 10、Python 3.8。
使用subprocess.Popen.terminate()
终止子进程
下面用于终止使用 subprocess.Popen()
打开的进程的代码适用于 Linux。
import os
import signal
import subprocess
# The os.setsid() is passed in the argument preexec_fn so
# it's run after the fork() and before exec() to run the shell.
pro = subprocess.Popen(cmd, stdout=subprocess.PIPE,
shell=True, preexec_fn=os.setsid)
os.killpg(os.getpgid(pro.pid), signal.SIGTERM) # Send the signal to all the process groups
遗憾的是,它不适用于 Windows。该进程拒绝被杀死。如何修改代码,使进程可以在 Windows?
结束我在 Anaconda 上使用 Windows 10、Python 3.8。
使用subprocess.Popen.terminate()
终止子进程