【问题标题】:How to control screen processes using python如何使用python控制屏幕进程
【发布时间】:2011-11-29 17:36:45
【问题描述】:

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

【问题讨论】:

  • 我不确定您到底在寻找什么,但您可能想看看byobu 源代码作为如何增强屏幕的示例。
  • 我想知道是否有一些不错的 API(最好是在 Python 中)来控制 /usr/bin/screen,而不是在子进程中包装命令行命令。
  • 老实说,这听起来像是更适合 bash 的工作。必须是python吗?
  • 如果我可能会问,您的服务器部署过程中究竟需要什么屏幕?
  • 我们通过屏幕而不是作为守护进程运行我们的大部分进程,因为这使得在许多方面更容易检查我们部署的进程的状态并与它们的 CLI 交互。

标签: python unix gnu-screen


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你可以使用pexpect

    还有一个fork:pexpect-u

    我不能 100% 确定 pexpectexpect 相比没有任何限制,但如果您发现任何限制,您可以随时尝试一些 tcl :)

    【讨论】:

      【解决方案3】:

      你需要使用屏幕吗?因为您需要的听起来就像“fabric”(用 Python 制作)的设计用途:从 Python 脚本或交互式 shell 控制多个远程服务器。

      以下是油墨到织物的概述: http://docs.fabfile.org/en/1.3.3/index.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-23
        • 1970-01-01
        • 2019-01-26
        • 2020-12-21
        • 1970-01-01
        • 2011-01-12
        相关资源
        最近更新 更多