叶冠华 2019-09-27 16:55 采纳率: 0%
浏览 3672

Shell脚本中执行kill之后就结束,不在往下执行nohup命令

编写这个脚本是用来检测开发是否使用FTP上传了新的文件 在定时任务里每分钟执行一次,对比大小来重启Java

#!/bin/bash
#判断文件大小-更新文件 触发Java重启

#查看当前文件大小
new_size=$(ls -l /www/test.jar | awk '{print $5}')
#查看历史文件大小
look_size=$(cat /www/size)
#查看Java进程
java_ps=$(ps -ef|grep java | grep -v 'grep'|awk '{print $2}')

#重启Java
ReJava(){
        echo "[信息]$(date +"%Y年%m月%d日 %T") 文件不相同,正在重启!" >> /data/logs/rejava.log
        kill $java_ps
        nohup java -jar /www/test.jar >/www/log.log 2>&1 &
        ls -l /www/test.jar | awk '{print $5}' > /www/size
}
#不重启Java
NoReJava(){
        echo "[信息]$(date +"%Y年%m月%d日 %T") 文件相同,无需重启!" >> /data/logs/rejava.log
}

#判断文件大小是否发生变化
if [ $look_size != $new_size ]
then
        ReJava
else
        NoReJava
fi

已经使用bash -x查看过程,看不出什么问题就莫名其妙结束了
显示Terminated后结束脚本,ReJava函数里的nohup命令不在往下执行

  • 写回答

3条回答

  • 吉甫作诵 2019-09-27 22:24
    关注

    把java环境变量加到shell里面再试试看?

    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。