Назад | Перейти на главную страницу

Что такое опция --daemon?

Я устанавливал Solr с Jetty, используя эти инструкции. По сути, эти инструкции заставляли вас загрузить сценарий запуска Jetty и скопировать его в /etc/init.d/jetty.

Но это не сработало. Каждый раз, когда я запускал Jetty, у меня появлялось сообщение «FAILED», и я ничего не мог понять, почему это происходит. Я решил открыть сценарий /etc/init.d/jetty, чтобы понять, что происходит. Я видел, что этот сценарий использовал start-stop-daemon для запуска причала. Через пару раз отладки я обнаружил, что удаление --daemon опция в конце вызова start-stop-daemon решала мою проблему.

Я провел несколько исследований и обнаружил, что у этого парня была такая же проблема и решил это так же, как и я: я удалил --daemon вариант.

Что странно, так это то, что переключатель не кажется специфичным для start-stop-daemon, потому что он не задокументирован на странице руководства. Кроме того, я видел, как он используется для других команд.

Так что это --daemon вариант делаете? И почему его удаление решило мою проблему?

Обратите внимание, что я работаю над Ubuntu 10.04.2 LTS.

Я до сих пор не знаю, что делает флаг --daemon, и так и не нашел ответа. По моему опыту, похоже, что флаг --daemon добавлялся к команде в качестве опции. Команда не выполняется, поэтому ничего не происходит. В вашем случае использование опции -b вызывает разветвление процесса, что, как я считаю, дало ему новую стандартную ошибку и вывод, поэтому вы не видите результирующую ошибку из-за того, что выброшен флаг --daemon. Параметр -b также не позволяет демону start-stop-daemon узнать, завершился ли процесс ошибкой или нет.