![使用 -X 终止正在运行的指定屏幕仅在重新连接后才有效](https://linux22.com/image/512465/%E4%BD%BF%E7%94%A8%20-X%20%E7%BB%88%E6%AD%A2%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E6%8C%87%E5%AE%9A%E5%B1%8F%E5%B9%95%E4%BB%85%E5%9C%A8%E9%87%8D%E6%96%B0%E8%BF%9E%E6%8E%A5%E5%90%8E%E6%89%8D%E6%9C%89%E6%95%88.png)
我正在使用 ubuntu 8.04.4 并且想要像这样启动守护进程:
screen -dmS SESSIONNAME script.sh
然后我想用 -X 关闭这些屏幕,就像这样
screen -S SESSIONAME -X kill
但是,这不起作用。只有当我连接和分离该会话时,它才会被上面的命令终止。我做错了什么?我不想通过连接/分离会话来终止它,因为我想使用远程启动/停止守护进程的结构脚本。
- 谢谢
答案1
对于守护进程,您确实不应该在屏幕上运行它们。
在 debian 派生系统(例如 Ubuntu)中,start-stop-daemon 是要使用的东西,RedHat 和 derivertives 也有类似的工具。
阅读手册页,查看一些初始化脚本作为示例。在 Ubuntu 上,您可能需要进行一些深入研究,因为 Upstart 已基本取代了标准初始化脚本。
答案2
尝试这个:
screen -S SESSIONAME -X quit