当前位置:  操作系统/服务器>linux

linux下监视进程 崩溃挂掉后自动重启的shell脚本

    来源: 互联网  发布时间:2014-10-14

    本文导语:  ================================================= 本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接 Author: HeYuanHui E-mail: khler@163.com QQ: 23381103 MSN: pragmac@hotmail.com ================================================= 如何保证...

=================================================
本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接
Author: HeYuanHui
E-mail: khler@163.com
QQ: 23381103
MSN: pragmac@hotmail.com
=================================================

如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题。在Linux系统中,强大的shell就可以很灵活的处理这样的事务。
下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动。
必须注意两点:
1、ps |grep 一个进程时必须加上其路劲,否则容易grep到错误的结果;
2、必须用 -v 从结果中去除grep命令自身,否则结果非空。
代码如下:

#!/bin/sh
#=====================
#YuanHui.HE
#khler@163.com
#=====================
while :
do
echo "Current DIR is " $PWD
stillRunning=$(ps -ef |grep "$PWD/loader" |grep -v "grep")
if [ "$stillRunning" ] ; then
echo "TWS service was already started by another way"
echo "Kill it and then startup by this shell, other wise this shell will loop out this message annoyingly"
kill -9 $pidof $PWD/loader
else
echo "TWS service was not started"
echo "Starting service ..."
$PWD/loader
echo "TWS service was exited!"
fi
sleep 10
done

如果启动此shell时发现进程已经存在,说明以别的方式启动了进程而不是此shell,那么它会持续提醒找到进程,解决办法是,要么只用此shell启动服务,要么一经发现以其他方式启动的服务即kill掉,上面的语句就是这么干的:
kill -9 $pidof $PWD/loader

    
 
 

您可能感兴趣的文章:

  • Linux下怎样配置,让apache及其httpd服务,在机器重启后也重启
  • linux 重启与重启网络的区别
  • linux命令行下用ctrl+alt+del重启计算机是否是正确的重启方法?
  • 求教:Linux下Java应用程序的重启脚本
  • 为何LINUX服务器下的NAT重启后老是失效?急!!!
  • linux命令如何实现重启父进程而不会使其子进程退出
  • linux中用ifconfig设置完新ip后,重启linux,ip又恢复到原来的值,怎么解决呀?
  • linux重启后无法通过ssh连接
  • LINUX机器如何不重启而搜索到阵列分区
  • Linux内核免重启更新工具 Ksplice
  • linux无故重启,如何写个脚本监控哪个进程关闭了linux
  • 如何让linux重启时自动检测文件系统!??
  • 求linux下定时重启服务的脚本
  • Linux重启后 disk系统用户和组会更改
  • 昨天安装了红旗版linux重启后硬盘有噪音
  • 我写的代码竟然让Linux系统重启了,可喜还是可悲?
  • linux 如何定时重启
  • 双系统,Linux总是得重启几次才能进去
  • 如何让自己的程序得知linux系统即将重启还是关机?
  • help!急!!装linux时无故自动重启怎么办??
  • linux流量监视
  • linux下串口的监视问题
  • 在linux下如何监视一个文件
  • 有没有Linux下监视http请求的软件
  • 求linux下监视消息的工具
  • 求监视Linux系统设置修改的软件
  • Linux性能监视·请教。
  • linux系统下使用使用性能监视工具的前提?
  • linux 监视端口是否正常的shell脚本
  • linux下的内存监视工具有什么
  • ARM linux 编译器不支持 inotify 监视文件功能?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在 LINUX下如何编辑脚本(可以直接运行脚本访问WINDOW系统)
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • Linux下如何编写脚本文件
  • 关于linux的脚本运行。。。求高人指点
  • linux重新启动后自动运行脚本程序
  • 谁能简单介绍一下LINUX上的各种语言脚本的功能.
  • linux shell脚本
  • 请问关于linux脚本的一个问题。
  • LINUX的系统管理脚本
  • Linux脚本
  • linux脚本中命令运行结果判断
  • 求助:linux脚本语言写SQL语句
  • window下通过ftp执行linux脚本?
  • 如何在Linux下使用脚本实现程序的自动重启!望各位详解!
  • linux shell脚本无法改变环境变量
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • 求助:Linux 脚本如何提取MAC地址
  • 请教斑竹,在linux下怎么执行位于其他机器上的脚本
  • linux如何获取当前程序ID并用shell脚本停止进程
  • linux中用ifconfig设置完新ip后,重启linux,ip又恢复到原来的值,怎么解决呀? iis7站长之家
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3