Como reiniciar o serviço SystemD (tela) após falha de falta de memória

Como reiniciar o serviço SystemD (tela) após falha de falta de memória

Estou usando o serviço SystemD para controlar o servidor baseado em Java (OK! É Minecraft: D) ​​através da tela assim:

[Unit]
Description=mc@auth
After=local-fs.target network.target mysqld.service

[Service]
WorkingDirectory=/home/minecraft/auth
User=minecraft
Group=minecraft
Type=forking

Restart=always
RestartSec=5s

ExecStart=/bin/bash ./server.sh start

ExecStop=/bin/bash ./server.sh stop
ExecStop=/bin/bash -c "while ps -p $MAINPID > /dev/null; do /bin/sleep 1; done"

[Install]
WantedBy=multi-user.target

server.sh startapenas inicia o arquivo jar java -jar Example.jare gera o console.

Como reiniciar este serviço quando recebo um erro de falta de memória? Java parece não voltar para o shell quando ocorre OOM.

Responder1

Use java -jar Example.jar -XX:+CrashOnOutOfMemorye server.shdefina Restart=on-failureno arquivo da unidade Systemd.

informação relacionada