我正在尝试创建一个 CentOS 初始化脚本来包装启动和停止守护程序。
守护进程是一个 Python 控制台应用程序,设计用于在特定用户下的 SCREEN 会话中运行,并在检测到 CTRL-C 时干净地关闭。
initscript 需要以 root 身份运行,所以我按照这个问题的答案并将其写入“停止”函数:
su - -c "screen -S $prog -X stuff $'\003'" $screenuser
但它无法停止守护进程,但是如果我附加到会话
su - -c "screen -r $prog" $screenuser
并按键盘上的 CTRL-C,应用程序干净地关闭。我无法弄清楚为什么脚本方法不起作用。