Этого можно добиться с помощью systemd , изменив файл wso2am.service следующим образом.
[Unit]
Description=wso2am server daemon
Documentation=https://docs.wso2.com/
After=network.target
[Service]
ExecStart=/bin/sh -c '/home/tel/Documents/vz/wso2am-2.1.0/wso2am-2.1.0/bin/wso2server.sh start'
ExecStop=/bin/sh -c '/home/tel/Documents/vz/wso2am-2.1.0/wso2am-2.1.0/bin/wso2server.sh stop'
ExecRestart=/bin/sh -c '/home/tel/Documents/vz/wso2am-2.1.0/wso2am-2.1.0/bin/wso2server.sh restart'
PIDFile=/home/tel/Documents/vz/wso2am-2.1.0/wso2am-2.1.0/wso2carbon.pid
User=tel
Group=tel
Type=forking
Restart=always
RestartSec=2
StartLimitInterval=60s
StartLimitBurst=3
StandardOutput=journal
[Install]
WantedBy=multi-user.target
Теперь, когда вы ищете процесс wso2am, используйте следующую команду.
ps -ef | grep java
Затем выберите PID для процесса Java wso2am и убейте его.
kill -9 <wso2_server_PID>
Немедленно запустить
ps -ef | grep java
еще раз и увидим, что процесса сейчас нет. Затем в течение 2 секунд, как мы указали RestartSec = 2 , вы увидите, что процесс сервера wso2 снова запущен и работает с другим PID . Затем вы можете убедиться, что экземпляр wso2 возродился при сбое.