O arquivo launch-service.sh deve ser executado pelo arquivo phantombot.service.
Eu olhei no serviço de systemctl phantombot se o serviço realmente começou. O serviço começa e é fechado após cerca de 11 segundos. (veja abaixo)
launch-service.sh
:
#!/bin/bash
#
# PhantomBot Launcher - Linux and macOS
#
# Please run the following to launch the bot, the chmod is required only once.
# % chmod +x launch-service.sh
# % ./launch-service.sh
#
unset DISPLAY
if [[ $(uname) -eq "Darwin" ]]; then
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
cd "$DIR"
else
cd $(dirname $(readlink -f $0))
fi
if type -p java 1>/dev/null 2>/dev/null; then
_java=java
elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then
_java="$JAVA_HOME/bin/java"
else
echo "You don't have Java installed! Download it from https://www.java.com/en/download/"
fi
java -Dfile.encoding=UTF-8 -jar PhantomBot.jar
/etc/systemd/system/phantombot.service
:
[Unit]
Description=PhantomBot
After=network.target remote-fs.target nss-lookup.target
[Service]
User=botuser
Group=botuser
Restart=on-failure
RestartSec=30
ExecStart=/home/botuser/phantombot/launch-service.sh
KillSignal=SIGTERM
[Install]
WantedBy=multi-user.target
Isso mostra o status do systemctl logo depois que eu iniciei o serviço:
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sat 2017-09-09 16:08:14 CEST; 21min ago
Process: 13145 ExecStart=/home/botuser/phantombot/launch-service.sh (code=exited, status=0/SUCCESS) Main PID: 13145 (code=exited, status=0/SUCCESS)
botuser@Ubuntu-1704-zesty-64-minimal:~/phantombot$ sudo /bin/systemctl start phantombot
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2017-09-09 16:30:18 CEST; 1s ago
Main PID: 13295 (launch-service.)
Tasks: 23 (limit: 4915)
CGroup: /system.slice/phantombot.service
├─13295 /bin/bash /home/botuser/phantombot/launch-service.sh
└─13300 java -Dfile.encoding=UTF-8 -jar PhantomBot.jar
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2017-09-09 16:30:18 CEST; 3s ago
Main PID: 13295 (launch-service.)
Tasks: 28 (limit: 4915)
CGroup: /system.slice/phantombot.service
├─13295 /bin/bash /home/botuser/phantombot/launch-service.sh
└─13300 java -Dfile.encoding=UTF-8 -jar PhantomBot.jar
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2017-09-09 16:30:18 CEST; 5s ago
Main PID: 13295 (launch-service.)
Tasks: 28 (limit: 4915)
CGroup: /system.slice/phantombot.service
├─13295 /bin/bash /home/botuser/phantombot/launch-service.sh
└─13300 java -Dfile.encoding=UTF-8 -jar PhantomBot.jar
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2017-09-09 16:30:18 CEST; 9s ago
Main PID: 13295 (launch-service.)
Tasks: 23 (limit: 4915)
CGroup: /system.slice/phantombot.service
├─13295 /bin/bash /home/botuser/phantombot/launch-service.sh
└─13300 java -Dfile.encoding=UTF-8 -jar PhantomBot.jar
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2017-09-09 16:30:18 CEST; 11s ago
Main PID: 13295 (launch-service.)
Tasks: 23 (limit: 4915)
CGroup: /system.slice/phantombot.service
├─13295 /bin/bash /home/botuser/phantombot/launch-service.sh
└─13300 java -Dfile.encoding=UTF-8 -jar PhantomBot.jar
$ systemctl status phantombot
● phantombot.service - PhantomBot
Loaded: loaded (/etc/systemd/system/phantombot.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sat 2017-09-09 16:30:31 CEST; 703ms ago
Process: 13295 ExecStart=/home/botuser/phantombot/launch-service.sh (code=exited, status=0/SUCCESS) Main PID: 13295 (code=exited, status=0/SUCCESS)
Você vê o serviço realmente iniciado por 11 segundos até ser desligado.
Se eu executar o arquivo. /launch-service.sh
diretamente via linha de comando, ele não será encerrado.
Eu segui este guia passo a passo.
Obrigado por qualquer ajuda em andvanced. :)
Alguma sugestão que está errada aqui?
Este é um problema de permissão? Posso executá-lo em algum tipo de modo detalhado para ver os erros que desligam o deamon?