同时执行多个.py文件

Pet*_*sta 5 python scripting

我有三个.py文件,我想在Python脚本文件中同时运行.我最初调用subprocess.call()了三次(每个.py文件一次),但记得它会阻塞直到命令完成.我试过,subprocess.Popen(['screen', 'python_file'])因为我相信它不会阻止,但当我检查进程时screen -ls,只有一个进程在运行.如何使用Python脚本同时运行所有三个程序?我应该使用multiprocessingmultithreading库吗?

编辑:其他进程不应该完成,因为它们在无限循环中运行.这正是我在Python脚本文件中的内容.我正在使用,screen因为每个.py文件都有stdout登录到终端,我希望能够看到每个登录的内容.


subprocess.Popen(['screen', './submitter.py'])
subprocess.Popen(['screen', './worker.py'])
subprocess.Popen(['screen', './tester.py'])

eng*_*ree 8

如果你想使用multiprocessing,你可以试试这个:

import multiprocessing

def worker(file):
    # your subprocess code


if __name__ == '__main__':
    files = ["path/to/file1.py","path/to/file2.py","path/to/file3.py"]
    for i in files:
        p = multiprocessing.Process(target=worker, args=(i,))
        p.start()
Run Code Online (Sandbox Code Playgroud)