创建执行脚本
vim restart.sh
然后拷贝下边的内容进去,我们需要改的就是jar包app_name
和log日志文件log_file
的名字为对应的jar包名字即可
#!/bin/bash
app_name=项目的名字.jar
log_file=business.log
echo 将要启动的jar包:${app_name}
pid=`ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
echo 将要杀死原来的进程$pid
kill -9 $pid
echo "$pid进程终止成功"
#kill -9 `ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
sleep 2
echo "判断jar包${app_name}文件是否存在,如果存在启动${app_name}包"
if test -e $app_name
then
echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar "${app_name}" > ${log_file} 2>&1 &
tail -f ${log_file}
#echo "$app_name 启动成功..."
else
echo "$app_name 文件不存在,请检查。"
fi
启动命令:sh restart.sh
//下边这个是一个完整的启动,重启,停止jar包的脚本
#!/bin/bash
app_name=resetbusiness-0.0.1-SNAPSHOT_$1.jar
log_file=business.log
echo 将要执行jar包:${app_name}
pid=`ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
echo "判断jar包${app_name}文件是否存在,如果存在执行${app_name}包"
if test -e $app_name
then
echo '文件存在,开始启动此程序...'
read -p "请输入你要的操作,1 启动、2重启、3停止:" input
if (($input==1));
then
echo "start project"
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar "${app_name}" > ${log_file} 2>&1 &
tail -f ${log_file}
elif (($input==2));
then
echo "restart project"
echo 将要杀死原来的进程$pid
kill -9 $pid
echo "$pid进程终止成功"
#kill -9 `ps -ef |grep "${app_name}" | grep -v grep | awk '{print $2}'`
sleep 2
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar "${app_name}" > ${log_file} 2>&1 &
#echo "$app_name 启动成功..."
tail -f ${log_file}
elif (($input==3));
then
echo "stop project"
echo 将要杀死原来的进程$pid
kill -9 $pid
echo "$pid进程终止成功"
else
echo "输入有误"
fi
else
echo "$app_name 文件不存在,请检查。"
fi
启动命令:./startpro.sh 01
其中01
代表jar包版本号