我正在使用 Jetty 安装 Solr这些说明。基本上,这些说明让您下载 Jetty 启动脚本并将其复制到 /etc/init.d/jetty。
但它不起作用。每次启动 Jetty 时,我都会收到“FAILED”消息,但无法理解为什么会发生这种情况。我决定打开 /etc/init.d/jetty 脚本来了解发生了什么。我看到这个脚本正在使用 start-stop-daemon 来启动 jetty。经过几次调试,我发现删除 start-stop-daemon--daemon
调用末尾的选项可以解决我的问题。
我做了一些研究,发现这家伙也有同样的问题并像我一样解决了它:删除了该--daemon
选项。
奇怪的是,该开关似乎不是特定于 start-stop-daemon 的,因为它没有记录在手册页中。此外,我还看到它用于其他命令。
那么这个--daemon
选项有什么用呢?为什么删除它可以解决我的问题?
请注意,我正在使用 Ubuntu 10.04.2 LTS。
答案1
我仍然不知道 --daemon 标志的作用,也从未找到答案。根据我的经验, --daemon 标志似乎被附加到命令中作为选项。命令失败,所以什么也没发生。在您的例子中,使用 -b 选项会导致进程分叉,我相信这会给它带来新的标准错误和输出,因此您看不到 --daemon 标志引发的错误。 -b 选项还会阻止 start-stop-daemon 知道进程是否失败。