web-dev-qa-db-fra.com

Comment faire réapparaître automatiquement un processus (wso2am)?

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

Process status

Mais je ne peux pas trouver le processus respawn/restart automatiquement. Comment vérifier le mécanisme de réapparition automatique dans Ubuntu?

1
VIVEK-MDU

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.

0
VIVEK-MDU