Schreiben eines Systemd-Skripts, das zwei Anwendungen unter Linux startet

Schreiben eines Systemd-Skripts, das zwei Anwendungen unter Linux startet

Betriebssystem: Raspbian

Ich kann 2 Anwendungen nicht gleichzeitig ausführen mitrc.local

Ich muss ein einfaches Beispiel finden, wie man eine App mit systemd startet

Das Problem besteht darin, dass ich nur konkrete Beispiele zum Starten von Servern finde und diese sind sehr komplex. Es fällt mir schwer zu verstehen, wie man eine einfache systemd-Datei schreibt, die eine Anwendung ausführt, wo man sie platziert und wie man sie startet.

Die beiden Apps, die ich ausführen möchte, sind: /home/pi/app1und/home/pi/app2

Wenn ich eine Befehlszeile wie diese ausführe: beide Anwendungen laufen gleichzeitig

/home/pi/app1 & /home/pi/app2 &

Aber aus irgendeinem Grund wird nur die erste App ausgeführt, wenn ich die gleiche Zeile in rc.local eingebe.

Ich kann auch keine Daten von rc.local ausgeben

/home/pi/app1 & /home/pi/app2 &> /tmp/log diese /tmp/log-Datei wird nie erstellt

Ich verstehe nicht, warum das nicht funktioniert. Mir wurde vorgeschlagen, systemd zu verwenden, aber es ist so unnötig kompliziert und hat zu viele Optionen.

Wie würde eine einfache systemd-Datei zum Ausführen einer dieser Apps aussehen?

Ich möchte nur etwas Zuverlässiges, das diese beiden Apps beim Booten startet, das ist alles

Danke

Antwort1

Befürworter von systemd werden Ihnen sagen, dass systemd einfacher ist, weil Sie keine Skripte schreiben müssen.

Für systemd benötigen Sie wahrscheinlich zwei Dienste, einen für app1und einen für app2. Erstellen Sie die Dateien in /etc/systemd/system, beispielsweise app1.servicemit:

[Unit]
Description=app1 systemd service.

[Service]
Type=simple
ExecStart=/path/of/your/app/app1

[Install]
WantedBy=multi-user.target

Um die Aktivierung beim Systemstart durchzuführen,

systemctl enable app1.service

verwandte Informationen