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

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 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器