Ich habe Solr mit Jetty installiert unter Verwendungdiese Anweisungen. Im Wesentlichen haben diese Anweisungen Sie dazu veranlasst, das Jetty-Startskript herunterzuladen und es nach /etc/init.d/jetty zu kopieren.
Aber es funktionierte nicht. Jedes Mal, wenn ich Jetty startete, bekam ich die Meldung „FEHLER“ und wusste nicht, warum das passierte. Ich beschloss, das Skript /etc/init.d/jetty zu öffnen, um herauszufinden, was passierte. Ich sah, dass dieses Skript den Start-Stop-Daemon verwendete, um Jetty zu starten. Nach einiger Zeit des Debuggens stellte ich fest, dass das Entfernen der --daemon
Option am Ende des Start-Stop-Daemon-Aufrufs mein Problem behob.
Ich habe ein paar Nachforschungen angestellt und herausgefunden, dassdieser Typ hatte das gleiche Problemund habe es auf die gleiche Weise gelöst wie ich: indem ich die --daemon
Option entfernt habe.
Merkwürdig ist, dass der Schalter nicht spezifisch für Start-Stop-Daemon zu sein scheint, da er nicht in der Manpage dokumentiert ist. Außerdem habe ich gesehen, dass er für andere Befehle verwendet wird.
Was macht diese --daemon
Option also? Und warum hat ihr Entfernen mein Problem gelöst?
Beachten Sie, dass ich an Ubuntu 10.04.2 LTS arbeite.
Antwort1
Ich weiß immer noch nicht, was das Flag --daemon bewirkt, und habe nie eine Antwort darauf gefunden. Meiner Erfahrung nach sah es so aus, als ob das Flag --daemon als Option an den Befehl angehängt wurde. Der Befehl schlägt fehl, also passiert nichts. In Ihrem Fall führt die Verwendung der Option -b dazu, dass der Prozess sich verzweigt, was ihm meines Erachtens einen neuen Standardfehler und eine neue Standardausgabe beschert, sodass Sie den resultierenden Fehler des Flags --daemon nicht sehen. Die Option -b verhindert auch, dass Start-Stop-Daemon erkennt, ob der Prozess fehlgeschlagen ist oder nicht.