如何通过Python向运行中的screen发送命令(Ubuntu 12.04)

1 投票
1 回答
3579 浏览
提问于 2025-04-18 11:31

我现在在使用Ubuntu 12.04 LTS系统,运行的是Python 2.7。我的Python代码大概是这样的:

from os import system
system("screen -S session -X stuff 'commandhere'`echo -ne '\015'`")

但是当我尝试运行这段代码时,它没有任何反应。我在想,这个问题能不能解决,如果能的话,应该怎么做呢?

我想要向一个正在运行的屏幕“会话”发送一个命令,其中“commandhere”就是我想发送的命令。

1 个回答

3

你试过像这样使用 subprocess.call() 吗:

#!/usr/bin/python
import subprocess
subprocess.call(["screen", "-S", "session", "-X", "stuff", "'command here'`echo -ne '\015'`"])

还有一个想法:最好是创建一个 bash 脚本来处理会话的相关操作,然后让 Python 去调用这个 bash 脚本。

撰写回答