GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Timeout des Systemctl-Dienstes beim Start?

*.service erstellt und legte es in mein /etc/systemd/system Ordner:

[Unit]
Description=WSO2 IoT Message broker

[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-8-oracle"
Type=forking
ExecStart=/home/ubuntu/wso2iot-3.1.0/bin/broker.sh

[Install]
WantedBy=multi-user.target

Ich möchte einen der Mudles von WSO2 IoT Server ausführen, aber das spielt keine Rolle.

Wenn ich diese bash starte Skript manuell, es wird lange geladen und bleibt im gestarteten Modus, da es so etwas wie eine Webserveranwendung ausführt, die dann einen bestimmten Port verwendet.

Wenn ich diesen Dienst wie folgt starte:

sudo systemctl start myservice.service

Es dauert sehr lange und sagt dann:Start operation timed out. Terminating.

Ich muss diesen Dienst einfach für immer starten, bis ich ihn manuell stoppe.

Was habe ich in meiner Service-Konfigurationsdatei übersehen?

Akzeptierte Antwort:

Legen Sie den Type fest Ihres Dienstskripts entweder auf simple oder oneshot . Abhängig vom Verhalten des gestarteten Shell-Skripts.

  • Wenn das Shell-Skript eine Endlosschleife durchläuft und nicht beendet wird, setzen Sie Type zu simple
  • ansonsten Type setzen zu oneshot

Nachdem Sie Ihre Änderungen vorgenommen haben, laden Sie die Konfiguration mit systemctl daemon-reload neu und starten Sie Ihren Dienst.


Ubuntu
  1. Dienste in CentOS 8 starten, stoppen oder neu starten - Schritt-für-Schritt-Prozess?

  2. Zeitüberschreitung in einem Shell-Skript?

  3. Kann Service Noip2 nicht beim Booten starten?

  4. Basisdienstbefehle

  5. Linux-Betriebssystemdienst „scsi_reserve“

So starten, stoppen und starten Sie Dienste unter Linux neu

So starten Sie den Dienst beim Booten unter Ubuntu 22.04

Wie man Dienste unter Debian startet, stoppt und neu startet

So starten, stoppen oder starten Sie Dienste in CentOS 8 neu

So starten, stoppen oder starten Sie Dienste in Ubuntu neu

Systemd-postgresql-Startskript