2016-11-19 5 views
0

Ich habe die folgende systemd Datei aktiviert in: /etc/systemd/system/pirestservice.servicesystemd Dienst läuft nicht

[Unit] 
Description=Raspberry Pi REST Service 
After=local-fs.target network.target 

[Service] 
Type=simple 
User=root 
ExecStart=/usr/local/piservice/startpiservice.sh 
Restart=always 

[Install] 
WantedBy=multi-user.target 

Das Shell-Skript oben Bezug genommen wird, wie folgt, und ist ausführbar gemacht.

#!/bin/bash 
sudo java -jar /usr/local/piservice/pirestservice-0.0.1-SNAPSHOT.jar server rest_metadata/template.yml 

Wenn ich das Shell-Skript ausführen, startet dieser Dropwizard-Dienst. Wenn ich neu starten oder den Dienst von der Befehlszeile gestartet, zeigt der Dienst läuft, wenn ich tue:

ps -ef | grep pirest 

Ich werde eine PID-Nummer des Prozess zugewiesen sehen ....... JEDOCH .... die Service läuft nicht wirklich. Was vermisse ich? Brauche ich nur die eine .Service-Datei, oder gibt es andere Konfigurationen, die ich vermisse? Sollte sich die .service-Datei in einem anderen Verzeichnis befinden?

Am Ende des Tages möchte ich nur, dass meine Anwendung als Daemon/Hintergrunddienst ausgeführt wird.

FYI, ich betreibe dies auf einem Raspberry Pi3 mit Ubuntu Mate 16 installiert.

Danke,

Mike

+0

Haben Sie so etwas wie „eine beliebige Taste drücken, um zu beenden“, das heißt, dass Ihr Dienst durch das Warten blockiert auf Benutzereingabe? –

Antwort

0

Ist Java auf dem Weg? Und kann das Dienstskript Ihre Dropwizard-Konfigurationsdatei korrekt finden?

Meine Konfiguration sieht wie folgt aus:

[Service] 
ExecStart=/usr/bin/java -jar /opt/myservice/myservice.jar server /opt/myservice/application.yml 

Bitte beachte, dass ich absolute Pfade für die Java-binary verwenden, und für die Dropwizard Konfigurationsdatei. Wenn Sie den Pfad zu der Konfigurationsdatei nicht hart codieren möchten, versuchen Sie dies in der Servicedatei hinzuzufügen:

WorkingDirectory=/opt/myservice 
Verwandte Themen