Linux定时重启Java进程

该脚本示例展示了如何在Ubuntu18.04系统中利用crontab创建定时任务,自动检测并杀死运行中的***.jar进程,然后执行/srv/project/start.sh启动新的jar应用,同时将重启日志记录到/test.txt文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本案例是配合cron定时任务实现定时重启某jar包
定时任务可参考:Ubuntu 18.04使用crontab自定义定时任务


#!/bin/bash
  
Linux_new_id=`ps -ef | grep ***.jar | grep -v "grep" | awk '{print $2}'`
echo $Linux_new_id >>/srv/project/test.txt
for id in $Linux_new_id
do
  kill -9 $id
done

cd /srv/project
./start.sh
echo "$(date +"%Y-%m-%d %T")*** restart" >>/srv/project/test.txt

### 设置Cron作业以定期运行Java程序 #### 编辑Cron任务配置文件 对于系统级别的周期性任务,可以直接编辑全局配置文件`/etc/crontab`。而对于用户级别,则建议使用`crontab -e`命令来创建或修改个人用户的定时任务[^4]。 #### 创建Shell脚本来启动Java应用程序 为了简化管理和维护,在编写cron条目之前先准备一个简单的shell脚本用于调用Java应用: ```bash #!/bin/bash # 启动参数可以根据实际情况调整 java -jar /path/to/your/application.jar >> /var/log/myapp.log 2>&1 ``` 确保给该脚本赋予可执行权限: ```bash chmod +x /path/to/start_java.sh ``` #### 添加新的Cron Job 接着向系统的计划任务列表里加入新项以便按照设定的时间间隔触发上述脚本。这里给出几个例子说明不同频率的任务安排方法: - **每日凌晨两点钟** 执行一次: `0 2 * * * root /path/to/start_java.sh` - **每周日凌晨三点整** 运行一周一次的任务: `0 3 * * 0 root /path/to/start_java.sh` - **每月第一天早上四点钟** 处理月度工作: `0 4 1 * * root /path/to/start_java.sh` 注意:以上示例假设是以root身份执行这些操作;如果不是,请替换为实际用户名并考虑路径访问控制等问题[^1]。 #### 验证Cron服务状态 最后确认`crond`守护进程正在运行中,这样才能保证所有预定好的job能够按时被执行[^3]: ```bash service crond status ``` 如果发现未启动则可以尝试重启它: ```bash systemctl restart crond ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只努力的笨笨熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值