有没有办法向筛选进程发送命令?

有没有办法向筛选进程发送命令?

我有一个进程,它使用此命令自动启动服务器 -

screen -dmSL myserver sudo bash /myserver/start

如果我连接到屏幕screen -x myserver并输入stop命令,我可以停止该过程。

现在,假设我有一个脚本/myserver/stop,它将如何工作?它不适用于以下内容:

screen -x myserver
stop

答案1

经过一些实验,我找到了答案。这是我将使用的命令:

screen -p 0 -S myserver -X eval "stuff stop\015"

现在逐一说明:

-S说连接到屏幕会话myserver

-p指定消息发送到 seession 中的窗口 0

-X是允许您向屏幕会话发送命令而无需自己输入的参数

eval告诉打印“stop”和换行符到应用程序的标准输入

相关内容