在 python 中停止子进程
Stopping a subprocess in python
我有几个 python 脚本同时 运行 使用子进程库。但是,我希望能够在事件发生时停止所有进程,例如按下按钮。我尝试了几种方法,但其中 none 似乎有效。
我正在使用 Windows 和 Python 3.8.0
下面是我打开所有进程的代码。
import subprocess
subprocess.Popen("python Program1.py")
subprocess.Popen("python Program2.py")
subprocess.Popen("python Program3.py")
subprocess.Popen("python Program4.py")
subprocess.Popen("python Program5.py")
subprocess.Popen("python Program6.py")
subprocess.Popen("python Program7.py")
我不知道如何使用子进程库或任何其他进程结束进程。
我也试过以下
proc1.kill()
p.terminate()
def pkill (process_name):
try:
killed = os.system('tskill ' + process_name)
except Exception as e:
killed = 0
return killed
pkill("PROGRAM")
对于上面的那个,我试过放 except Exception, e:
也放 pkill("PROGRAM.py")
但这似乎也不起作用。
您可以跟踪已启动的进程 ID:
import os
import subprocess
processes = []
for x in range(0,9):
p = subprocess.Popen("python Program.py %s" % x)
processes.append(p.pid) # keep the processIds!
for p in processes:
os.system('taskkill /F /PID ' + p)
我有几个 python 脚本同时 运行 使用子进程库。但是,我希望能够在事件发生时停止所有进程,例如按下按钮。我尝试了几种方法,但其中 none 似乎有效。 我正在使用 Windows 和 Python 3.8.0
下面是我打开所有进程的代码。
import subprocess
subprocess.Popen("python Program1.py")
subprocess.Popen("python Program2.py")
subprocess.Popen("python Program3.py")
subprocess.Popen("python Program4.py")
subprocess.Popen("python Program5.py")
subprocess.Popen("python Program6.py")
subprocess.Popen("python Program7.py")
我不知道如何使用子进程库或任何其他进程结束进程。
我也试过以下
proc1.kill()
p.terminate()
def pkill (process_name):
try:
killed = os.system('tskill ' + process_name)
except Exception as e:
killed = 0
return killed
pkill("PROGRAM")
对于上面的那个,我试过放 except Exception, e:
也放 pkill("PROGRAM.py")
但这似乎也不起作用。
您可以跟踪已启动的进程 ID:
import os
import subprocess
processes = []
for x in range(0,9):
p = subprocess.Popen("python Program.py %s" % x)
processes.append(p.pid) # keep the processIds!
for p in processes:
os.system('taskkill /F /PID ' + p)