小编Gre*_*egB的帖子

在启动时启动java进程并在死机时自动重启

我的Java应用程序有两个要求.如果它死了,重新启动它.如果服务器重新启动,请重新启动它 - 这很简单.使用这里的答案,我有一个脚本,将在java应用程序死亡时重新启动.

#!/bin/bash

until java -Xms256m -Xmx768m -jar MyApp.jar; do
    echo "MyApp crashed with exit code $?.  Respawning... " >&2
    sleep 5
done

我可以使用"nohup restart_script.sh&"运行它,它将全天运行而不会出现问题.现在为启动要求.我使用/etc/init.d/crond脚本并用我的脚本替换了crond二进制文件,但它在启动时挂起.

#!/bin/bash
#
# Init file for my application.
#
. /etc/init.d/functions

MYAPP=restart_script.sh
PID_FILE=/var/run/myapp.pid

start(){
        echo -n "Starting My App"
        daemon --user appuser $MYAPP
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/myapp
        return $RETVAL
}

stop(){
        echo -n "Stopping my application"
        killproc $MYAPP
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 …

java linux bash init.d

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

init.d ×1

java ×1

linux ×1