linux 自动重启jar包脚本
时间: 2023-09-01 15:11:26 浏览: 108
以下是一个简单的Linux自动重启jar包脚本:
```
#!/bin/bash
# 定义变量
APP_NAME="myapp.jar"
LOG_FILE="/var/log/myapp.log"
# 检查进程是否存在
PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]
then
echo "$APP_NAME is not running, starting it..." >> $LOG_FILE
# 启动应用
nohup java -jar $APP_NAME >> $LOG_FILE 2>&1 &
else
echo "$APP_NAME is running with PID $PID, stopping it..." >> $LOG_FILE
# 停止应用
kill $PID
# 等待一会儿
sleep 5
# 再次检查进程是否存在
PID=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]
then
echo "$APP_NAME stopped, starting it..." >> $LOG_FILE
# 启动应用
nohup java -jar $APP_NAME >> $LOG_FILE 2>&1 &
else
echo "$APP_NAME could not be stopped, exiting..." >> $LOG_FILE
exit 1
fi
fi
echo "$APP_NAME started successfully" >> $LOG_FILE
exit 0
```
该脚本首先检查是否存在正在运行的进程,如果没有,则启动应用程序。如果已经有一个进程在运行,则停止它并等待一段时间,然后再次检查进程是否存在。如果无法停止进程,则脚本将退出并返回错误代码1。最后,脚本将写入一条日志消息,指示应用程序已成功启动。在脚本中定义的变量可以根据您的实际情况进行更改。
阅读全文