Я устанавливал Solr с Jetty, используяэти инструкции. По сути, эти инструкции заставляли вас загрузить скрипт запуска Jetty и скопировать его в /etc/init.d/jetty.
Но это не работало. Каждый раз, когда я запускал Jetty, я получал сообщение "FAILED" и ничего не понимал, почему это происходит. Я решил открыть скрипт /etc/init.d/jetty, чтобы понять, что происходит. Я увидел, что этот скрипт использует start-stop-daemon для запуска jetty. После пары часов отладки я обнаружил, что удаление опции --daemon
в конце вызова start-stop-daemon исправляет мою проблему.
Я провел несколько исследований и обнаружил, чтоУ этого парня была та же проблемаи решил это так, как я: удалил эту --daemon
опцию.
Странно, что переключатель, похоже, не относится конкретно к start-stop-daemon, поскольку он не документирован на странице руководства. Кроме того, я видел, как он использовался для других команд.
Так что же делает эта --daemon
опция? И почему ее удаление решило мою проблему?
Обратите внимание, что я работаю на Ubuntu 10.04.2 LTS.
решение1
Я до сих пор не знаю, что делает флаг --daemon, и так и не нашел ответа. По моему опыту, похоже, что флаг --daemon был добавлен к команде в качестве опции. Команда не выполняется, поэтому ничего не происходит. В вашем случае использование параметра -b приводит к разветвлению процесса, что, как я полагаю, дает ему новую стандартную ошибку и вывод, поэтому вы не видите результирующую ошибку от выдачи флага --daemon. Параметр -b также не позволяет start-stop-daemon узнать, был ли процесс неудачным или нет.