【问题标题】:Running multiple python scripts with subprocess python使用子进程 python 运行多个 python 脚本
【发布时间】:2023-03-07 18:39:01
【问题描述】:

我正在尝试在 linux 操作系统中与 subprocess 并行运行多个 python 脚本

与此类似:Running multiple commands from multiple terminal windows from python script

这是我尝试过的:

subprocess.call(['gnome-terminal', '-e', "python3 ab.py"])
subprocess.call(['gnome-terminal', '-e', "python3 bc.py"])
subprocess.call(['gnome-terminal', '-e', "python3 cd.py"])

不幸的是,终端会在几秒钟内闪烁并消失。这有什么原因吗?添加shell=True 使终端停留但不执行脚本。

【问题讨论】:

标签: python python-3.x subprocess


【解决方案1】:

subprocess.run 应该可以工作:

subprocess.Popen(['gnome-terminal', '-e', "python3", "ab.py"], shell=True)
subprocess.Popen(['gnome-terminal', '-e', "python3", "bc.py"], shell=True)
subprocess.Popen(['gnome-terminal', '-e', "python3", "cd.py"], shell=True)

编辑:

os.system("gnome-terminal -x python ab.py")

【讨论】:

  • 它也是这样做的。可能是什么问题?
  • @JA-pythonista 现在?编辑了我的答案
  • 它没有。它显示了外壳,然后脚本没有运行。我不知道怎么了
  • @JA-pythonista 编辑了我的答案,现在应该可以使用
  • 我尝试使用 shell=True。终端保留但不运行 python 脚本。有什么想法吗?
【解决方案2】:

是否需要将命令行的所有部分拆分成单独的字符串?

subprocess.call(['gnome-terminal', '-e', "python3", "ab.py"])

【讨论】:

    猜你喜欢
    • 2018-08-22
    • 2016-09-27
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    相关资源
    最近更新 更多