Python 脚本:等待 tmux 会话中的作业完成

Python 脚本:等待 tmux 会话中的作业完成

我正在尝试使用另一个 python 脚本中的随机参数连续运行一个 python 脚本,其中每次运行都在其自己的 tmux 会话中。我正在尝试做的事情的一个非常简单的概述如下:

# Python script to run other python scripts
from subprocess import call
import random

while True
    param = randint(1,100)
    runmyscript ="tmux send-keys -t mysession"+str(param)+" 'python myscript.py param' "
    call(runmyscript)
    #Wait until myscript.py is done running in its tmux session <-- How to do that?

例如,假设随机数是 57、61、88...等。上面的脚本应该运行:

  • 名为“mysession57”的 tmux 会话中的“myscript.py 57”
  • 名为“mysession61”的 tmux 会话中的“myscript.py 61”
  • 名为“mysession88”的 tmux 会话中的“myscript.py 88”...等

但是我如何确保脚本等待 tmux 会话中的每个脚本完成?

答案1

from subprocess import call
import random

while True:
    param = random.randint(1,100) #add random first or from random import randint
    runmyscript ="tmux send-keys -t mysession %s 'python myscript.py param' "%str(parma)
    call(runmyscript,shell=True)#you should add if or something to break loop

相关内容