systemd Exec Formatfehler

7

Ich habe eine Java-Datei, die ich als Dienst installieren möchte. Aber ich bekomme Fehler. Unten ist der Inhalt meiner Datei und Fehler. Ich verwende Debian 8.

[Unit]
Description=App1Manager
After=syslog.target

[Service]
ExecStart=/usr/bin/jsvc -user root -cp /usr/share/java/commons-daemon.jar:/usr/local/myapp/bin/Manager.jar -pidfile /var/run/app1manager.pid

Type=forking

[Install]
WantedBy=multi-user.target

Mit einem der folgenden Fehler erhalte ich den folgenden Fehler:

SYSTEMD_LOG_LEVEL=debug /lib/systemd/system/myapp1 
SYSTEMD_LOG_LEVEL=debug /etc/init.d/myapp1 

/etc/init.d/myapp1: line 1: [Unit]: command not found
/etc/init.d/myapp1: line 6: [Service]: command not found
/etc/init.d/myapp1: line 7: -user: command not found
/etc/init.d/myapp1: line 10: [Install]: command not found


Aug 12 12:04:39 debian systemd[3903]: Failed at step EXEC spawning /etc/init.d/myapp1: Exec format error
-- Subject: Process /etc/init.d/myapp1 could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The process /etc/init.d/myapp1 could not be executed and failed.
--
-- The error number returned while executing this process is 8.
Aug 12 12:04:39 debian systemd[1]: myapp1.service: control process exited, code=exited status=203
Aug 12 12:04:39 debian systemd[1]: Failed to start (null).
-- Subject: Unit myapp1.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit myapp1.service has failed.
--
-- The result is failed.
Aug 12 12:04:39 debian systemd[1]: Unit myapp1.service entered failed state.
jaseUK
quelle
Es wurde offensichtlich versucht, dies zu debuggen. Die Frage enthält alle Informationen, die wir zur Beantwortung benötigen. Letzteres ist eine wertvolle Fähigkeit. Gut gemacht und ich hoffe deine nächste Aufgabe läuft etwas reibungsloser :).
Sourcejedi

Antworten:

7

Installation systemd/systemmit einer .serviceDateierweiterung; Das ausführbare Bit muss nicht gesetzt werden. Installieren Sie keine Dienstdateien im Systemd-Format auf /etc/init.d/; Dies gilt für ältere SysVinit-Dienstskripte.

Verwenden Sie zum Starten von Diensten systemctl start myapp1. Wenn Sie nicht sicher sind, ob der Dienst als systemd oder SysV implementiert ist, verwenden Sie service myapp1 start.

Zum Aktivieren beim Booten [in einem entsprechenden InstallAbschnitt] verwenden systemctl enable myapp1.

sourcejedi
quelle