GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Servizio Systemctl scaduto durante l'avvio?

*.service e l'ho inserito nel mio /etc/systemd/system cartella:

[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

Sto cercando di eseguire uno dei complessi di WSO2 IoT Server, ma non importa.

Quando lancio questo bash script manualmente, viene caricato per molto tempo e rimane in modalità avviata, perché esegue qualcosa come un'applicazione del server Web che quindi prende una porta specifica.

Quando lancio questo servizio in questo modo:

sudo systemctl start myservice.service

Ci vuole molto tempo e poi dice:Start operation timed out. Terminating.

Devo fare in modo che questo servizio sia appena avviato per sempre finché non lo interromperò manualmente.

Cosa mi sono perso nel mio file di configurazione del servizio?

Risposta accettata:

Imposta il Type del tuo script di servizio su simple o oneshot . A seconda del comportamento dello script di shell avviato.

  • se lo script della shell esegue un ciclo infinito e non esce, imposta Type a simple
  • altrimenti imposta Type a oneshot

Dopo aver apportato le modifiche, ricaricare la configurazione con systemctl daemon-reload e avvia il tuo servizio.


Ubuntu
  1. Avvia, arresta o riavvia i servizi in CentOS 8 - Processo passo dopo passo?

  2. Comandi del servizio di base

  3. Servizio del sistema operativo Linux 'scsi_reserve'

  4. Script Ruby come servizio

  5. Come faccio a capire perché il servizio systemctl systemd-modules-load non riesce?

Come avviare, arrestare e riavviare i servizi in Linux

Come avviare il servizio all'avvio su Ubuntu 22.04

Come avviare, arrestare e riavviare i servizi su Debian

Come avviare, arrestare o riavviare i servizi in CentOS 8

Come avviare, arrestare o riavviare i servizi in Ubuntu

lo stato systemctl mostra inattivo morto