繁体   English   中英

同时运行多个python脚本而无需创建多个脚本

[英]concurrently run multiple python scripts without creating multiple scripts

我希望我能很好地解释这一点..(英语不是我的第一语言),但是在这个问题上,他们要求同时运行多个python脚本。 正是我现在的操作方式,基本上只是使用bash中的&执行我的多个脚本

我想做的是避免创建多个脚本,而是想要一个可以同时运行所有脚本的脚本

其中一个脚本看起来像这样(类似于我所有其他脚本)

while True:
    text = "some shell script"
    os.system(text)

我发现很难使用while循环或任何形式的循环,因为它一个接一个地执行它们,而且速度非常慢。 我对python非常不熟悉,并且不太擅长编程..所以任何帮助都将是很棒的

您可以使用os.fork()在每个脚本的新进程中生成。

text = "some shell script"
pid = os.fork()
if pid == 0
    os.system(text)
    sys.exit()

这将创建一个新进程并在其中执行脚本,然后在完成后退出。 尽管在while循环中这样做只会继续创建新进程,直到os停止它为止。

如果您有要执行的程序列表,最好使用for循环遍历它们。 例如

programs = ['test1.py', 'test2.py', 'test3.py']
for program in programs:
    pid = os.fork()
    if pid == 0
        os.system(program)
        sys.exit()

我也建议使用os.system ()上的subprocess.call()来代替它。 它使您可以轻松处理正在执行的程序的输入和输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM