当前位置: 首页 > 编程笔记 >

Shell实现判断进程是否存在并重新启动脚本分享

陈翰林
2023-03-14
本文向大家介绍Shell实现判断进程是否存在并重新启动脚本分享,包括了Shell实现判断进程是否存在并重新启动脚本分享的使用技巧和注意事项,需要的朋友参考一下

简洁版:

#! /bin/bash
# author caoxin
# time 2012-10-10 
# program : 判断进行是否存在,并重新启动


function check(){
  count=`ps -ef |grep $1 |grep -v "grep" |wc -l`
  #echo $count
  if [ 0 == $count ];then
    nohup python /runscript/working/$1 &
  fi
}

check behaviors.py

详细版:

#!/bin/bash
#

#调用关闭jboss进程脚本
stopMethodServer.sh

#打印出当前的jboss进程:grep jboss查询的jboss进程,grep -v "grep" 去掉grep进程
jmsThread=`ps -ef | grep gdms | grep jboss | grep -v "grep"`
echo $jmsThread

#查询jboss进程个数:wc -l 返回行数
count=`ps -ef | grep gdms | grep jboss | grep -v "grep" | wc -l`
echo $count

sec=7
#开始一个循环,以判断进程是否关闭

for var in 1 2
do
 if [ $count -gt 0 ]; then
  #若进程还未关闭,则脚本sleep几秒
  echo sleep $sec second the $var time, the JMS thread is still alive
  sleep $sec
 else
  #若进程已经关闭,则跳出循环
  echo "break"
  break
 fi
done

#if [ $count -eq 0 ]; then
# echo "nohup startMethodServer.sh &"
# nohup startMethodServer.sh &
#else
# echo "It's better to check the thread!!!"
#fi

#调用启动脚本
nohup startMethodServer.sh &
 类似资料:
  • 本文向大家介绍Shell脚本判断Apache进程是否存在,包括了Shell脚本判断Apache进程是否存在的使用技巧和注意事项,需要的朋友参考一下 写一个脚本检查Apache进程是否存在,若不存在则显示不存在,若存在则显示进程个数,当不等于10个时用红色字体通知管理员,并询问管理员是否启动Apache服务。

  • 本文向大家介绍Shell实现的Oracle启动脚本分享,包括了Shell实现的Oracle启动脚本分享的使用技巧和注意事项,需要的朋友参考一下 Usage: sh oracled [start|stop|restart] SIDs 其中SIDs是数据库名,多个名称之间用逗号分隔。缺省的操作是 restart ,也可以指定需要进行的操作( start | stop | restart )

  • 本文向大家介绍Shell脚本实现监控kingate并自动启动,包括了Shell脚本实现监控kingate并自动启动的使用技巧和注意事项,需要的朋友参考一下 自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,好吧,对于我们这样的懒人来说,当然不能

  • 本文向大家介绍Shell脚本实现IP地址合法性判断,包括了Shell脚本实现IP地址合法性判断的使用技巧和注意事项,需要的朋友参考一下 做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序,这个小程序也是非常有用的。 IP地址是32位的,可以由4个十进制数值表示,每个数值的范围都是0

  • 问题 你已经启动了一个线程,但是你想知道它是不是真的已经开始运行了。 解决方案 线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用 threading 库中的 Event 对象。 Event 对象包含一个可由线程设置的信号标志,它允许线程等待某些事件的发生。在

  • 本文向大家介绍一个监控Squid运行进程数并自动重启的简洁Shell脚本分享,包括了一个监控Squid运行进程数并自动重启的简洁Shell脚本分享的使用技巧和注意事项,需要的朋友参考一下