Ich habe einen systemd-Dienst geschrieben, um die Bodensteuerung auf meinem Raspberry Pi zu starten.
[Unit]
Description=Groundcontrol status monitor
[Service]
ExecStart=/opt/groundcontrol/groundcontrol/start.sh
Type=forking
[Install]
WantedBy=multi-user.target
Ich verwende das Skript, da groundcontrol nicht ordnungsgemäß funktioniert, wenn es nicht aus dem bin-Verzeichnis gestartet wird. Hier ist das Skript:
cd /opt/groundcontrol/groundcontrol
./groundcontrol &
Dies funktioniert perfekt, wenn ich es manuell starte, aber wenn ich mein Pi hochlasse und renne systemctl
es sagt, dass es fehlgeschlagen ist. systemctl status groundcontrol.service
druckt
groundcontrol.service - Groundcontrol status monitor
Loaded: loaded (/etc/systemd/system/groundcontrol.service; enabled)
Active: failed (Result: exit-code) since Wed 1969-12-31 17:00:14 MST; 43 years 11 months ago
Process: 111 ExecStart=/opt/groundcontrol/groundcontrol/start.sh (code=exited, status=0/SUCCESS)
Main PID: 116 (code=exited, status=2)
Dec 31 17:00:11 waldo systemd[1]: Starting Groundcontrol status monitor...
Dec 31 17:00:12 waldo systemd[1]: Started Groundcontrol status monitor.
Dec 31 17:00:14 waldo systemd[1]: groundcontrol.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Dec 31 17:00:14 waldo systemd[1]: Unit groundcontrol.service entered failed state.
Wenn ich es manuell starte, ist der Status
groundcontrol.service - Groundcontrol status monitor
Loaded: loaded (/etc/systemd/system/groundcontrol.service; enabled)
Active: active (running) since Thu 2013-12-26 15:38:02 MST; 1s ago
Process: 296 ExecStart=/opt/groundcontrol/groundcontrol/start.sh (code=exited, status=0/SUCCESS)
Main PID: 297 (groundcontrol)
CGroup: /system.slice/groundcontrol.service
`-297 ./groundcontrol
Dec 26 15:38:02 waldo systemd[1]: Started Groundcontrol status monitor.
Mit groundcontrol wurde ein System V-Init-Skript bereitgestellt, aber ich wusste nicht, wie es mit systemd verwendet werden sollte. Wenn nicht, wie kann ich diesen Service beheben? Vielen Dank.
groundcontrol
und seine Anforderungen, damit Sie es beim Bootvorgang richtig bestellen können.