I servizi restano in stato fallito dopo essere stati arrestati con systemctl

abbiamo un semplice script systemd per avviare un server MineCraft in un modo di servizio. L'SO è CentOS 7. Qui lo script:

[Unit] Description=Minecraft Server After=syslog.target network.target [Service] Type=simple WorkingDirectory=/root/Minecraft ExecStart=/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui Restart=on-failure [Install] WantedBy=multi-user.target 

L'avvio del servizio funziona bene ma quando si arresta, il servizio rimane in uno stato di errore. Vedere:

  • Uso di CPUQuota in systemd
  • Come interrompere i servizi di sistema in un ordine specifico
  • nome istanza systemd (% i) non funziona in ExecStart
  • Perché c'è ancora un /etc/init.d in debian 8?
  • Come si usa il pattern di journaldl di systemd
  • Inoltrare messaggi periodici di sistema / raccogliere i messaggi di journal di sistema
  •  systemctl status minecraftd.service minecraftd.service - Minecraft Server Loaded: loaded (/usr/lib/systemd/system/minecraftd.service; disabled) Active: active (running) since Mon 2015-06-01 16:00:12 UTC; 18s ago Main PID: 20975 (java) CGroup: /system.slice/minecraftd.service └─20975 /bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui systemctl stop minecraftd.service systemctl status minecraftd.service minecraftd.service - Minecraft Server Loaded: loaded (/usr/lib/systemd/system/minecraftd.service; disabled) Active: failed (Result: exit-code) since Mon 2015-06-01 16:01:37 UTC; 3s ago Process: 20975 ExecStart=/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui (code=exited, status=143) Main PID: 20975 (code=exited, status=143) 

    Qualche idea?

    Grazie

  • Come posso prevedere l'ordine di arresto di sistema?
  • Qual è il significato del tempo di attesa nei servizi systemd?
  • Systemd che causa processi di supervisore multipli
  • Postfix non si avvia dopo il riavvio
  • Imansible avviare nagios.service: l'unità nagios.service non è rioutput a caricare: nessun file o directory del genere
  • Nginx si blocca usando "start nginx service"
  • One Solution collect form web for “I servizi restano in stato fallito dopo essere stati arrestati con systemctl”

    Il codice di output 143 significa che il programma ha ricevuto un segnale SIGTERM per istruirlo per uscire, ma non ha gestito correttamente il segnale. Questo è quasi sempre dovuto agli errori di programmazione ed è piuttosto comune con le applicazioni Java di tutti i tipi.

    Devi potere sopprimere questo aggiungendo il codice di output nel file unit come uno stato di output "success":

     [Service] SuccessExitStatus=143 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.