我在 Linux(如果有必要的话,是 Debian)服务器上的屏幕内运行了一些服务器软件。我时不时需要向该进程输入一些命令,因此我想将其保留在屏幕上以便于访问。(也用于查看未记录的最新输出,并且不需要记录。)
有时需要重新启动该软件,我按以下方式进行:
screen -r (to enter the screen running the software)
^C
serversoftware -flags
^A-D (to "minimize" the screen)
现在来谈谈问题。我需要制作一个简单的网页,其中包含一个“重新启动”按钮,用于重新启动此服务器。我可以使用 PHP exec 来模拟上述过程吗?让 PHP 运行任何其他语言的脚本文件也是一种选择。但我不确定如何让其他进程管理屏幕。
答案1
您可以使用 -X 选项将远程命令发送到现有的屏幕会话。此 StackOverflow 帖子应该有所帮助:https://stackoverflow.com/questions/6064548/send-commands-to-a-gnu-screen
答案2
看着rtorrent 启动脚本。它可以启动|停止|重新启动带有 rtorrent 的屏幕会话。在我看来,您只需要在命令中替换“rtorrent”即可。