当前位置: 首页 > article >正文

学习笔记023——Ubuntu中设置Java项目的 jar 包自启动

目录

1、设置 crontab 定时任务

2、定时脚本 startJar.sh内容

3、查看jar包进程

4、如何杀死进程


背景:有个需求,Ubuntu服务器中,虽有Java环境,但是没有tomcat。

想要运行jar包,只能通过java -jar命令了。

但是我希望当Java服务停止,或者服务器重启时,我的java服务能够尝试自启动。

思路:通过Ubuntu自带的crontab,来定时运行我手动写的守护脚本不就好了吗?

说干就干,上代码。

1、设置 crontab 定时任务

## root用户下执行(本人使用的是root用户)
sudo crontab -e

## 添加定时任务(每秒执行下/opt/ys 下面的 startJar.sh 脚本 )
*/1 * * * * sh /opt/ys/startJar.sh
## 查看确认下任务

## 保存退出

查看定时任务:

crontab -l

2、定时脚本 startJar.sh内容

#!/bin/sh
chmod 777 /opt/ys/cron.log

# jar包所在目录
proc_dir="/opt/ys"

# jar包名字
proc_name="demo.jar"

# 日志文件名
file_name="cron.log"
pid=0

proc_num() 
{
        num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
        return $num
}
 
proc_id()
{
        pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}
 
proc_num
number=$?
echo $number
#echo ${pid}, `date` >> $proc_dir/$file_name      # 将新进程号和重启时间记录
if [ $number -eq 0 ]                                    # 判断进程是否存在
then 
        cd /opt/ys; nohup /opt/jdk1.8.0_321/bin/java -jar demo.jar > /opt/ys/catalina.out
        proc_id                                         # 获取新进程号
        echo "detected demo down, restart..." >> $proc_dir/$file_name 
        echo ${pid}, `date` >> $proc_dir/$file_name      # 将新进程号和重启时间记录
fi

注意:文件中的  /opt/jdk1.8.0_321/bin/java   要写成你自己的java目录!!!

3、查看jar包进程

# 例如本人的jar包名字是:sh_syn_service.jar
ps auxwww | grep sh_syn_service.jar

4、如何杀死进程

# kill -9 进程号   
# 例如本人的进程号是8430
kill -9 8430

http://www.kler.cn/a/402253.html

相关文章:

  • STM32单片机CAN总线汽车线路通断检测-分享
  • Linux下,修改环境变量的几种方法
  • oracle配置
  • Spring Boot参数处理秘籍:从手动到自动的华丽蜕变
  • css:浮动
  • 服务器上部署并启动 Go 语言框架 **GoZero** 的项目
  • C++ —— 剑斩旧我 破茧成蝶—C++11
  • macOS 的目录结构
  • 苹果ASA归因对接以及API接入
  • Linux高阶——1116—环形队列生产者消费者
  • 优选算法 - 4 ( 链表 哈希表 字符串 9000 字详解 )
  • 【Android】线程池的解析
  • 【西瓜书】机器学习的模型评估
  • Spark RDD 中的 repartition 和 coalesce 是两种常用的分区调整算子的异同点
  • MMaction2:常见问题解答
  • 【AI+教育】一些记录@2024.11.16
  • 从0开始学习机器学习--Day26--聚类算法
  • vxe-table 表格多选启用快捷选择功能,鼠标滑动范围选择功能
  • 【Java系列】优化spring boot项目的启动加载,减少启动时的资源耗费的几种方案
  • 【MySQL-3】表的约束