你可以编写一个简单的 Shell 脚本来定时重启这个 Java 程序。假设你要每隔一段时间(如 1 小时)重启程序,可以使用 cron 来安排定时任务,并结合 Shell 脚本来执行重启操作。
1. 创建重启脚本
你可以创建一个名为 restart_monitor.sh 的 Shell 脚本,用于重启 Java 程序。假设你需要先停止现有进程再启动新的实例。
直接上脚本
#!/bin/bash
# 杀掉当前运行的 Java 程序
pid=$(ps -ef | grep 'com.XXX.XXX.init.BigstateCache.MonitorCacheTest' | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]; then
echo "Killing existing process with PID: $pid"
kill -9 $pid
fi
# 启动新的 Java 程序
echo "Starting Java program..."
/usr/local/jdk1.8.0_151/bin/java -classpath /root/bw-sys-XXX-1.0-SNAPSHOT.jar com.XXX.XXX.init.BigstateCache.MonitorCacheTest &
# 输出新的进程 ID
new_pid=$!
echo "New process started with PID: $new_pid"
2. 设置脚本权限
确保脚本具有可执行权限:
chmod +x restart_monitor.sh
3. 使用 cron 定时任务
为了每小时执行一次重启,你可以在 cron 中添加定时任务。
设置定时任务步骤:
-
打开
cron编辑器:crontab -e -
添加以下定时任务,表示每隔 1 小时执行一次重启脚本:
0 * * * * /path/to/restart_monitor.sh >> /path/to/restart_monitor.log 2>&10 * * * *表示每小时的第 0 分钟执行一次任务。/path/to/restart_monitor.sh是你的脚本路径,需要替换为实际路径。>> /path/to/restart_monitor.log 2>&1用于将脚本输出记录到日志文件中,方便排查问题。
通过这个设置,Java 程序将会每小时自动重启一次。
982

被折叠的 条评论
为什么被折叠?



