使用 subprocess.run 执行通常包含';'的 TMUX 命令。



首先,是的。我确实阅读了有关此问题的几个问题,并且我确实理解逃跑应该是不必要的(我什至指定了shell=False(。

我的问题是

subprocess.run(['tmux', '-n top', 'top', '; neww'])

导致 TMUX 会话打开并立即关闭

我正在尝试达到与执行相同的结果

tmux new -n top top ; neww

在外壳中。

我还尝试指定shell=True并使用'\; neww'以及r'; neww'

似乎也没有向 STDERR 写入任何内容。

每个参数都需要是单独的:

>>> import subprocess
>>> subprocess.run(['tmux', 'new', '-d', '-n', 'top', 'top', ';', 'neww'])
CompletedProcess(args=['tmux', 'new', '-d', '-n', 'top', 'top', ';', 'neww'], returncode=0)
>>>

最新更新