J'ai un script de démarrage comme
# Ubuntu upstart file at /etc/init/wso2am.conf
#!upstart
description "wso2am"
pre-start script
mkdir -p /var/log/wso2am/
end script
respawn
respawn limit 15 5
start on runlevel [2345]
stop on runlevel [06]
script
# Not sure why $HOME is needed, but we found that it is:
export Java_HOME="/usr/lib/jvm/jdk1.8.0_111"
#exec /usr/local/bin/node $Java_HOME/node/notify.js 13002 >> /var/log/node.log 2>&1
end script
Et mon fichier de service a également été créé en tant que
# this is /usr/lib/systemd/system/wso2am.service
# (or /lib/systemd/system/wso2am.service dependent on
# your linux distribution flavor )
[Unit]
Description=wso2am server daemon
Documentation=https://docs.wso2.com/
After==network.target wso2am.service
[Service]
# see man systemd.service
User=tel
Group=tel
TimeoutStartSec=0
Type=simple
KillMode=process
ExecStart= /bin/bash -lc '/home/tel/Documents/vz/wso2am-2.1.0/wso2am-2.1.0/bin/wso2server.sh --start'
RemainAfterExit=true
ExecStop = /bin/bash -lc '/home/tel/Documents/vz/wso2am-2.1.0/wso2am-2.1.0/bin/wso2server.sh --stop'
StandardOutput=journal
Restart = always
RestartSec=2
[Install]
WantedBy=default.target
J'essaie de tuer le processus (wso2am)
ps -ef | grep wso2am
Kill -9 process_id
Mais je ne peux pas trouver le processus respawn/restart automatiquement. Comment vérifier le mécanisme de réapparition automatique dans Ubuntu?
J'ai résolu ce problème avec l'aide de l'équipe Wso2. Ici, nous avons mentionné l'étape pour le problème de configuration du système-D.
Script système D pour wso2am.service fichier de service.
_[Unit]
Description=wso2am server daemon
Documentation=https://docs.wso2.com/
After=network.target
[Service]
ExecStart=/bin/sh -c 'XXX/Wso2serve start'
ExecStop=/bin/sh -c 'XXX/Wso2server.sh stop'
ExecRestart=/bin/sh -c 'XXX/Wso2server.sh restart'
PIDFile=/xxx/wso2carbon.pid
User=<Username>
Group=<groupname>
Type=forking
Restart=always
RestartSec=2
StartLimitInterval=60s
StartLimitBurst=3
StandardOutput=journal
[Install]
WantedBy=multi-user.target
_
Maintenant, lorsque vous recherchez le processus wso2am, utilisez la commande ci-dessous.
_ps -ef | grep Java
_
Choisissez ensuite le PID pour le processus wso2am Java et tuez-le.
_kill -9 <wso2_server_PID>
_
Exécuter immédiatement
_ps -ef | grep Java
_
encore et voir que le processus n'est pas là maintenant. Puis, dans les 2 secondes qui suivent, comme nous l’avons spécifié RestartSec=2,
, vous verrez que le processus du serveur wso2 est rétabli et s’exécute avec un PID différent.
Merci, Vivek KT.