Ich bin gespannt, ob ich eine vollständig erweiterte ExecStart/ExecStop
Kommandozeile ausdrucken kann . Betrachten Sie folgendes Beispiel:
ExecStart=/usr/bin/java $OPTS_COMMON $OPTS $OPTS_LOG $OPTS_DEBUG some.class.Start --param1 ${PARAM1} --param2 ${PARAM2}
Ich habe ziemlich lange Befehlszeilen mit vielen Umgebungsvariablen. Wenn einige der Variablen falsch werden (z. B. durch Drop-In-Konfiguration), wird der Dienst möglicherweise überhaupt nicht gestartet. Ich sehe jedoch nirgendwo eine vollständig erweiterte Linie mit ersetzten Envs und habe Mühe herauszufinden, was falsch ist.
Ich hatte kein Glück, dies zu googeln, und bisher bestand die einzige Möglichkeit darin, die Einheitendatei so zu ändern, dass sie /usr/bin/echo
anstelle des Dienstes selbst ausgeführt wird. Das ist aber etwas lästig. Oder noch ärgerlichere Lösung - überprüfen Sie jede Umgebungsvariable einzeln.
Gibt es eine Möglichkeit, systemd zu zwingen, mir zu zeigen, was tatsächlich versucht wird, ausgeführt zu werden?
In der * .service-Datei im Abschnitt [Service]
quelle