start-stop-daemon:未找到命令。此错误仅在 cron 作业的启动时发生

start-stop-daemon:未找到命令。此错误仅在 cron 作业的启动时发生

我已经安排了一个@reboot cron作业来启动/etc/init.d中的服务

启动后,当我进入 shell 命令行时,服务没有启动。/var/log/cron 的内容显示以下内容,

2022-09-27T17:16:03.913135-04:00 mtcap CROND[2147]: (root) CMDOUT (Stopping cgbscript)
2022-09-27T17:16:03.927646-04:00 mtcap CROND[2147]: (root) CMDOUT (/etc/init.d/cgbscript: line 21: start-stop-daemon: command not found)
2022-09-27T17:16:03.933438-04:00 mtcap CROND[2147]: (root) CMDOUT (Starting cgbscript)
2022-09-27T17:16:03.948336-04:00 mtcap CROND[2147]: (root) CMDOUT (/etc/init.d/cgbscript: line 11: start-stop-daemon: command not found)

如果这些内容在你的屏幕上被截断,则两次报告的错误是,

start-stop-daemon: command not found

当我到达 shell 提示符时我可以执行

# /etc/init.d/cgbscript start

一切正常。我没有看到 start-stop-daemon 位于 /bin/ 中,也没有位于 /sbin/ 中。我无法执行,# whereis start-stop-daemon因为这是一个微型嵌入式系统。有什么想法吗?

答案1

Cron 作业的执行环境与其余启动顺序不同。因此,/usr/sbin/ 不在其余启动顺序的 $PATH 中。

改变 cgbscript 以便 start-stop-daemon 以其绝对路径出现。

/usr/sbin/start-stop-daemon

这解决了问题。

相关内容