我创建了一个客户端-服务器应用程序,现在我想部署它。
在开发过程中,我在终端上启动了服务器,当我想停止它时,我只需要输入“Ctrl-C”。
现在希望能够在后台启动它并在我想要的时候停止它,只需键入:
/etc/init.d/my_service {stop|stop}
我知道如何做一个初始化脚本,但问题是如何真正停止这个过程?
我首先想到的是使用以下内容检索 PID:
ps aux | grep "my_service"
然后我找到了一个更好的主意,仍然使用 PID:将其存储在文件中以便在尝试停止服务时检索它。
绝对太脏和不安全,我最终想到了使用套接字来启用“停止”进程来告诉实际进程关闭。
我想知道这通常是怎么做的?或者更确切地说,最好的方法是什么?
我检查了 init.d 中的一些文件,其中一些使用 PID 文件,但使用特定命令“start-stop-daemon”。我对这种对我来说似乎不安全的方法有点怀疑。