栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux监视某一进程并自动重启

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux监视某一进程并自动重启

重启脚本
path=/data     # 启动文件的路径
name=qidong    # 启动的sh文件名字
pid=$(pgrep -f $name)
if [ ! -n "$pid" ]
then 
  echo '进程不存在,需要重启,正在重启中'
  cd $path
  nohup sh ./$name &    # 启动命令
else
  echo '进程存在' $pid
fi

# 检查是否启动成功
pid2=$(pgrep -f $name)
if[ ! -n "$pid2" ]
then
  echo '启动失败'
else
  echo '进程正常运行'
fi
  • 其中-n用于判断变量是否为空
  • !表示取反
  • pgrep -f XXX匹配包含XXX的进程,并返回进程号,此处也可以用ps -ef | grep XXX | grep -v grep替代,效果是一样的
将重启脚本写进linux的定时中

输入crontab -e开始编辑linux的定时(写入方式与vim相同)
输入crontab -l查看所有的定时
输入crontab -r删除所有的定时

cron文件语法
  分     小时    日       月       星期     命令
  0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)

   Minute  Hour   Day    Month   Dayofweek   command
   分钟     小时    天     月        天每星期       命令

 记住几个特殊符号的含义:

     “*”代表取值范围内的数字,
     “/”代表”每”,
     “-”代表从某个数字到某个数字,
     “,”分开几个离散的数字
30     3       10,20     *     *     ls             每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25     8-11    *         *     *     ls             每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15   *       *         *     *     ls             每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30     6       */10      *     *     ls             每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973778.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号