是否可以附加到类似于 screen 命令的服务正在使用的会话?

问题描述

我正在将游戏服务器作为服务运行,使用 systemctl 来启动和停止运行整个过程的脚本。我尝试修改脚本以让我使用屏幕,以便我可以附加到正在运行服务器的进程,并发出命令。但到目前为止,我的运气并不好。是否可以附加到服务器上运行的服务?

解决方法

不在 systemd 中,但您可以使用

启动服务
screen -D -m yourservice

这将创建一个分离的屏幕会话,该会话将等待进程退出(因此,如果您在 ExecStart 行中使用它,systemd 不会看到服务立即终止)。然后您可以正常附加到该会话。

,

这个问题属于 Unix/Linux StackExchange。

参见例如: https://unix.stackexchange.com/questions/453998/systemd-connect-to-stdin-stdout-after-service-has-started

如果你想通过编程来解决它,你可以考虑写一个小的 web 应用程序作为界面而不是控制台。