奇诺分享 | ccino.net

  • 首页
  • VPS
    • VPS申请
    • VPS配置
    • 科学上网
  • 网站建设
    • WordPress
  • 程序猿
    • 开发工具
    • 微服务
    • 容器
    • 分布式
    • 数据库
  • 杂项
  • 关于
  • Privacy Policy
生活不只是眼前的苟且,还有诗和远方!
  1. 首页
  2. VPS
  3. VPS配置
  4. 正文

linux下用脚本实现:监控一个进程,不存在则将其启动

2018年3月28日 1000点热度 0人点赞 0条评论

[title]方法1:[/title]

#!/bin/bash

while [ 1 ]
do
procID=`pgrep test`
if [ "" == "$procID" ];
then
/root/test -d
fi
usleep 1000
done &

注:1、pgrep 根据给出的进程名判断是否有这个名字的进程。如果有这个名字的进程正常退出,退出值0.如果没有这个名字的进程异常退出,退出值1。

2、ps -p 根据给定的pid参数判断是否有这个进程,如果有这个进程正常退出,退出值0.如果没有这个进程异常退出,退出值1。
例如: apple@ubuntu:~$ ps -p 2442

3、最后加 & 符号,表示让脚本在后台执行,即将shell关闭后 程序仍在运行。

下边是监控多个进程,只需添加一个循环:

#!/bin/bash

while [ 1 ]
do

for procname in proc1 proc2  #需要检测的进程名字

do
procID=`pgrep $procname`
if [ "" == "$procID" ];
then
/root/$procname-d
fi

done
usleep 1000
done &

另附参考例子:

#!/bin/sh

#其实sh是链接到busybox的

while [1 -eq 1]  #死循环
do 
   for procname in proc1 proc2  #需要检测的进程名字
   do
      pgrep $procname
      if [0 -ne $? ]  #如果进程不存在就重启它
      then
         ./$prconame
      fi
   done
   sleep 10
done

[title]方法2:[/title]

服务器上运行了一些小工具属于非服务类的,程序进程本身不是很稳定总是异常关闭写个脚本监视它,判断进程是否存在并启动该进程。

1.Linux判断进程是否存在并启动该进程

#!/bin/bash
#判断进程是否存在,如果不存在就启动它
PIDS=`ps -ef |grep myprocess |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
echo "myprocess is runing!"
else
cd /root/
./myprocess
#运行进程
fi

2.linux判断进程是否存在并重启该进程

#!/bin/bash
#判断进程是否存在,如果不存在就启动它如果存在就重启它
PIDS=`ps -ef |grep myprocess |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
kill -9 $PIDS
#先关闭进程,在运行此进程
cd /root/myprocess
sudo ./myprocess
#重新运行进程
else
cd /root/myprocess
sudo ./myprocess
#运行进程
fi

最后编辑crontab -e 按需要设置运行时间。

 

本文出自:https://blog.csdn.net/dc_show/article/details/41806265

http://lib.csdn.net/article/linux/33370

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: crontab 进程
最后更新:2018年3月28日

奇诺分享 | ccino.net

点赞
< 上一篇
下一篇 >

文章评论

取消回复

本站推荐

新手建站五步

本博客TG频道,欢迎订阅:https://t.me/CCINOorg 

    大家准备建站时,肯定和奇诺一样无从着手,不用着急。按照以下“五步”就能方便的搭建好一个基于VPS的网站。“第六步”为高级功能,大家可以按需选择。

第一步,基础知识:

  • 虚拟主机、云主机和VPS的区别
  • Xen、OpenVZ、KVM三大VPS技术优劣势详解
  • Apache、nginx 、lighttpd性能比较
第二步,VPS申请:
  • 新手用户搬瓦工VPS购买图文指导教程
  • 免费试用vultr搭建及vultr服务器性能测试
第三步,一键web面版搭建:
  • 宝塔Linux面板 – 3月29日更新 – 3.5版
  • 简单实用的VPS主机面板–宝塔
第四步,域名申请:
  • Namesilo VS Godaddy域名注册的对比优势
  • Namesilo新域名注册图文教程
第五步,CMS安装配置:
  • WordPress入门 之 如何安装WordPress
  • WordPress程序文件说明
第六步,高级功能:
  • https的研究与总结
  • Let’s Encrypt – 免费时新的 SSL 证书
  • 常用Linux VPS/服务器(OpenVZ/KVM/XEN)加速、优化网络速度工具总结
   
最新 热点 随机
最新 热点 随机
清除CentOS 6或CentOS 7上的磁盘空间的方法 centos sqlite3安装及简单命令 Clash for Windows 使用简介 解决梯子在GFWList模式下不能正常看流媒体的问题 Sublime Text3—自带快捷键介绍 Sublime Text 3截止2019.04.08最新版本破解 3207
清除CentOS 6或CentOS 7上的磁盘空间的方法
SUPERVISOR进程管理器配置指南 几个免费的服务器监控服务推荐 免费申请Google Voice美国电话号码 Google身份验证器使用-WordPress和VPS利用Google Authenticator两步验证 WordPress页面链接添加.html后缀 现场直播:域名转出的黑幕和愤怒!(商务中国BIZCN和美橙互联CNDNS)
标签聚合
WordPress 证书 VPS https 优化 SSL 网站建设 插件

COPYRIGHT © 2021 奇诺分享 | ccino.net. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS