启动进程然后返回main,等待完成python

时间:2014-04-18 23:39:36

标签: python

我想在背景中启动多个程序,直到我想在主程序中停止它。我已经尝试过很多像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()

但它不能很好地运作。有些人可以通过多线程展示一种更好的方式,或者说一个解释我应该怎么做的神教程?

1 个答案:

答案 0 :(得分:0)

os.system将阻止,直到生成的进程完成,如果要启动子进程而不阻塞,可以使用subprocess模块:https://docs.python.org/3.4/library/subprocess.html