启动停滞不前启动多个进程



我正在尝试使用start-daemon来启动在后台运行的过程。据我所知,如果已经运行一个开始,则应该阻止第二个进程的启动。我正在运行的脚本现在很简单:

#!/bin/sh
while true; do
    date > /home/pi/test/test.txt
    sleep 10
done

我正在使用start-stop-daemon --start -v -b -m --pidfile /var/run/test.pid --exec /home/pi/test/test.sh

启动脚本

我能够使用start-stop-daemon --stop -v --pidfile /var/run/test.pid

成功停止脚本

但是,如果我两次运行start命令,它将启动两个进程,而不仅仅是我期望的一个进程。开始命令在开始过程之前检查PID文件,还是需要做其他事情才能发生?

的人页> start-stop-daemon 包含有关> - exec 选项的特殊警告。

-X - exec 可执行文件

检查是否可以执行此实例。可执行的 参数应该是绝对的路径名。注意:这可能不起作用 使用解释的脚本,因为可执行文件将指向 解释器。

运行脚本时,实际启动的过程是脚本的Shebang行中指出的解释器。这使开始停留daemon 实用程序。

顺便说一句,您可以使用 -t 选项来调试与 start-stop-daemon

一起调试该问题

最新更新