Linux运维之自动重启Java程序
1.第一种方法
1 | if [ -z "$(ps -ef|grep PHEMSjava |grep java)" ];then |
其中的”$(ps -ef|grep PHEMSjava |grep java)”判断不是很准确,就是判断不出来PHEMSjava程序是否在运行,同时 cut -c 这个命令在于截取字符串,如果pid数值较大,就会导致9-14判断截取到了一部分pid
2.第二种方法
1 | #第二种,准确判断pid的信息, |
1.Shell之判断程序是否运行-yellowcong (这个是判断程序名称就是nginx的进程的脚本,也就是完全匹配,必须名称是nginx,无法查找找像java这样的应用程序)
2.Linux shell脚本之 if条件判断 (这是shell脚本的if判断)
2.第三种方法
第二种方法其实也有缺陷,就是没办法查找自定义的程序名称,比如PHEMSjava
1 | ## 其中,wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出 |
1.Linux学习笔记——判断java进程是否存在,不存在则启动 (这里的脚本有一个语法错误,grep -v grep而不是grep -v -grep,还有一个问题就是如果有其他进程能跟这个进程名称模糊匹配,也会查出当做是这个进程)
2.不错的linux下通用的java程序启动脚本 (这个没啥用)
4.第四种方法
这种方法,就是要保证路径的唯一性
1 | ## 获取java的pid |
1.获取java应用PID的几种方式