linux正确的让jar后台启动的脚本,linux jar包后台运行脚本

#!/bin/bash

now=$(date +%Y%m%d)

command='java -Xms128m -Xmx2048m -jar /linux.jar'

log_file_url="/${now}_linux.log"

start(){

if [ "$log_file_url" != "" ]; then

exec $command  > "$log_file_url" &

else

exec $command &

fi

}

stop(){

ps -ef | grep "$command" | awk '{print $2}' | while read pid

do

C_PID=$(ps --no-heading $pid | wc -l)

echo "当前PID=$pid"

if [ "$C_PID" == "1" ]; then

echo "PID=$pid 准备结束"

kill -9 $pid

echo "PID=$pid 已经结束"

else

echo "PID=$pid 不存在"

fi

done

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

printf 'Usage: %s {start|stop|restart}\n' "$prog"

exit 1

;;

esac

注意:

command='java -Xms128m -Xmx2048m -jar /linux.jar'

log_file_url="/${now}_linux.log"

command 需要替换为自己的运行语句

log_file_url 替换为日志输出语句