我想在背景中启动多个程序,直到我想在主程序中停止它。我已经尝试过很多像subprocces.Popen这样的方法,但是看起来工作得非常好,也读过,尝试多次线程,但是不能让它起作用。
到目前为止,这是我最好的解决方案:
def star_proc_1():
os.system('START /B start_some_2.exe')
def start_proc_2():
os.system('START /B start_some_1.exe')
def stop_proc_1():
os.system('taskkill /F /IM start_some_1.exe')
def stop_proc_2():
os.system('taskkill /F /IM start_some_2.exe')
while True:
op = raw_input('$:')
if op == 'start FTP':
star_proc_1()
elif op == 'start HTTP':
start_proc_2()
elif op == 'stop FTP':
stop_proc_1()
elif op == 'stop HTTP':
stop_proc_2()
elif op == 'exit':
sys.exit()
但它不能很好地运作。有些人可以通过多线程展示一种更好的方式,或者说一个解释我应该怎么做的神教程?
答案 0 :(得分:0)
os.system
将阻止,直到生成的进程完成,如果要启动子进程而不阻塞,可以使用subprocess
模块:https://docs.python.org/3.4/library/subprocess.html