systemd nicht gestartet maßgeschneiderten service für Tomcat
Ich habe immer eine einfache systemd service, den ich erstellt haben, zu starten, richtig.
Hier ist tomcat.service, die ich in /lib/systemd/system
:
[Unit]
Description=A systemd daemon configured to run Apache Tomcat 8.
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/home/technomage/Migration/Programming\ Files/Development\ Plugins\ and\ Software/apache-tomcat-8.0.26/bin/tomcat.pid
ExecStart=/home/technomage/Migration/Programming\ Files/Development\ Plugins\ and\ Software/apache-tomcat-8.0.26/bin/startup.sh
ExecStop=/home/technomage/Migration/Programming\ Files/Development\ Plugins\ and\ Software/apache-tomcat-8.0.26/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Nachdem Sie die Datei in den Ordner, ich habe systemctl enable tomcat.service
.
Danach läuft sudo systemctl start tomcat.service
gibt mir die folgende Fehlermeldung:
Job for tomcat.service failed. See 'systemctl status tomcat.service' and 'journalctl -xn' for details.
Prüfung genau den Fehler in der Frage über sudo journalctl
zeigt die folgenden Fehler:
Oct 24 19:22:05 theforge systemd[6674]: Failed at step EXEC spawning /home/technomage/Migration/Programming\ Files/Development\ Plugins\ and\ Software/apache-tomcat-8.0.26/bin/startup.sh: No such file or directory
Oct 24 19:22:05 theforge systemd[1]: tomcat.service: control process exited, code=exited status=203
Aber ich weiß, für eine Tatsache, dass die Lage gegeben ExecStart
vorhanden ist, kann ich als paste das sehr Leckerbissen in meine Schale und es wird starten Sie Tomcat perfekt!
So, ich bin etwas verwirrt. Ich habe versucht, entfernen die \
s aus dem Weg, denken, dass vielleicht es nutzt einige seltsame Windows-Stil beeinflusst. Immer noch nichts funktioniert.
Wo habe ich das Durcheinander?
So..
systemd
wurde nicht gebaut, mit der Fähigkeit, Räume richtig? Das scheint.. ganz aus.. wenn man bedenkt, wie viele Linux-Distributionen haben vollständige halbherzig angenommen.Neben der überprüfung der Berechtigungen für alle Verzeichnisse entfernen der Leerzeichen wäre mein Erster Versuch, dieses problem zu lösen
InformationsquelleAutor steelmonkey | 2015-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellt sich heraus, dass der einzige Weg zu nutzen, um Pfade mit Leerzeichen in
unit
Dateien ist das entfernen der escape-Zeichen und Anführungszeichen den vollständigen Pfad an.Dies scheint wie eine offensichtliche Lösung, außer, dass das problem hier ist dieses "feature" wird nur unterstützt, in einer neueren version von
systemd
.Den
systemd
kommt mit Debian Jessie (die Distribution, die ich verwende) stellt sich heraus, um nicht über diese Funktion. Also die einzige Möglichkeit ist ein upgrade auf die neueste version.Debian Jessie kommt aus der box mit einer sehr alten version
215-17
.Ich dies Problem gelöst, indem Sie vorübergehend die änderung meines Depots zu
sid
, die Aktualisierung meiner Quellen und die Aktualisierung dersystemd
.Mit dabei, die
systemd
nun nicht mehr hat ein problem mit dem Weg oder der Suche nach den genannten Programmen.InformationsquelleAutor steelmonkey