centos7 中 jar包程序定时重启

有个java程序需要定时重启一下,于是就利用宝塔的计划任务来完成定时的启动

image.png


#!/bin/bash

#

# 重启jar包程序

# 进程名

APP_NAME="app"

# jar包路径

APP_PATH="/www/app"


# 停止进程

PID=$(ps -ef | grep ${APP_NAME} | grep -v grep | awk '{print $2}')

if [ -n "$PID" ]; then

    echo "Stopping ${APP_NAME} with pid ${PID} ..."

    kill -9  ${PID}

fi


# 启动进程

echo "Starting ${APP_NAME} ..."

cd ${APP_PATH}

nohup java -Xmx50g -Xms50g -jar *.jar --spring.config.location=/www/wwwroot/dockerfile/wvp/config/config.yml > out.log 2>&1 & 



脚本中首先获取程序的进程 ID (PID),然后使用 kill 命令来结束该进程。如果没有找到程序进程则不执行结束进程操作。


然后,脚本进入到程序的路径下,使用 nohup 命令将程序以后台方式启动,并将输出重定向到 /dev/null 中,

从而确保程序在后台运行并且不会受到终端会话退出的影响。


最后,保存脚本并使用 crontab 命令设置定时执行。你可以通过以下命令来设置每天早上 4 点重启程序:


```bash

0 4 * * * /path/to/restart.sh

```


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Copyright deepdis.com Rights Reserved.