如何使用Python控制屏幕进程

6

我正在尝试拼凑一些Python代码来控制UNIX屏幕进程(/usr/bin/screen),作为脚本的一部分来简化服务器部署。是否有任何库或模块可以促进这个过程?是否有比只使用标准的Python subprocess更好的方法?


我不确定您确切需要什么,但您可能想看一下 byobu 源代码,作为增强屏幕的示例。 - jcollado
我在想是否有一些不错的API(最好是Python)可以控制/usr/bin/screen,而不是将命令行命令包装在子进程中。 - svth
1
这听起来更适合使用bash完成,需要用Python吗? - Daenyth
我们大多数的进程都是通过“screen”而不是守护进程运行的,因为这样在很多方面都更容易检查已部署进程的状态并与其CLI交互。 - svth
理想情况下,屏幕控制方案应该使用Python编写,但任何简化过程的API或工具都会很有帮助。 - svth
显示剩余4条评论
3个回答

5

找到了解决方法。有一个名为screenutils的Python模块。


3

您可以使用 pexpect

还有一个分支:pexpect-u

我不能百分之百确定pexpectexpect相比没有任何限制,但如果您发现有限制,您可以尝试一下tcl :)


3

您是否需要使用screen?因为您所需的内容听起来就像是Python中设计的“fabric”:从Python脚本或交互式shell控制多个远程服务器。

这里是fabric概述链接: http://docs.fabfile.org/en/1.3.3/index.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接