linux shell实现守护进程 看门狗 脚本
嵌入式初学者,第一次上传代码。昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#! /bin/sh#进程名字可修改PRO_NAME=udhcpcWLAN=ra0 while true ; do # 用ps获取$PRO_NAME进程数量 NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l`# echo $NUM# 少于1,重启进程 if [ "${NUM}" -lt "1" ];then echo "${PRO_NAME} was killed" ${PRO_NAME} -i ${WLAN}# 大于1,杀掉所有进程,重启 elif [ "${NUM}" -gt "1" ];then echo "more than 1 ${PRO_NAME},killall ${PRO_NAME}" killall -9 $PRO_NAME ${PRO_NAME} -i ${WLAN} fi# kill僵尸进程 NUM_STAT=`ps aux | grep ${PRO_NAME} | grep T | grep -v grep | wc -l` if [ "${NUM_STAT}" -gt "0" ];then killall -9 ${PRO_NAME} ${PRO_NAME} -i ${WLAN} fidone exit 0 |
以上所述就是本文的全部内容了,希望能够对大家熟悉linux shell脚本有所帮助。
linux shell实现守护进程 看门狗 脚本的更多相关文章
- Linux看门狗脚本 1.4
近期项目的看门狗经历了三个版本号. 第一个版本号: 用ps -ef,假设程序挂了就启动 第二个版本号: 程序因为执行时会出现不再监听7901port,所以不能简单推断机器是不是挂了,而是推断此port ...
- Linux编程实现守护进程
Linux 守护程序 守护进程(Daemon)它是在一个特定的过程的背景进行.它独立于控制终端的和周期性地执行某些任务或待某些事件.是一种非常实用的进程. Linux的大多数server就是用守护进程 ...
- shell实战之tomcat看门狗
1.脚本简介 tomcat看门狗,在tomcat进程异常退出时会自动拉起tomcat进程并记录tomcat运行的日志. 函数说明: log_info:打印日志的函数,入参为需要在日志中打印的msg s ...
- Linux架构--------Rsync守护进程推和拉
一.Rsync基本概述 rsync是一款开源.快速.多功能.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于Unix/linux/Windows等多种操作系统平台. 二.Rsy ...
- Linux 中的 守护进程
什么是守护进程 脱离控制终端的,运行于后端的进程,由系统管理的,按计划自动启动/停止/重启,用以执行特定的任务. 为什么要有守护进程? 在某些需求场景下,我们希望某项系统任务能够按计划按预期,始终/自 ...
- linux下的守护进程daemon
什么是守护进程?其实感觉守护进程并没有什么明确的定义,只是守护进程有一些特征,这是它需要遵循的. 守护进程的第一个特征是长时间在后台运行的程序,并且主要是为了提供某种服务,而为了能够让服务尽可能随时都 ...
- Linux学习之守护进程详解
Linux系统守护进程详解 ---转自:http://yuanbin.blog ...
- Shell: nohup守护进程化
如果想在终端会话中启动shell脚本,然后让脚本一直以后台模式运行,直到其完成,即使你退出了终端会话,可以使用nohup命令实现.感觉nohup就是将一个进程初始化为一个守护进程. nohup命令运行 ...
- 【Linux】- Ubuntu守护进程supervisor
linux的守护进程类似于windows的服务.linux通过supervisor创建守护进程. 1.安装supervisor sudo apt-get install supervisor 安装成功 ...
随机推荐
- Redis实现分布式存储Session
前言: 在单个项目时,一般都是用HttpSession接口存储当前登录用户的信息.但是在分布式项目的情况下,session是不会共享的,那怎么实现session共享呢?往下看.... 一.准备工作(基 ...
- InfluxDB概念和基本操作 二
InfluxDB概念和基本操作 InfluxDB基本概念 数据格式 在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value ...
- 算法图解学习笔记01:二分查找&大O表示法
二分查找 二分查找又称折半查找,其输入的必须是有序的元素列表.二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止:如果x<a[ ...
- docker 运行容器时为容器起别名
docker run --name=mydemo -p -d 2222:80 imagename --name: 指定容器名称 -p:指定容器端口号 -d:指定容器后台运行
- pymongo认证连接
有的MongoDB数据库使用了认证功能,需要认证连接才能正常登录. mongoDB有不同的认证机制,3.0版本以后采用的是'SCRAM-SHA-1', 之前的版本采用的是'MONGODB-CR'.所以 ...
- underscore相关记录
为什么使用void 0代替undefined? 在很多框架的源码以及webpack打包出来的bundle.js中,我们都可以看到void 0的身影,如下: function generateRando ...
- Hibernate3.3.2_ID生成策略
1,xml生成id generator:常用四个:native.identity.sequence.uuid. Annotation: 1,@GeneratedValue: a)自定义ID b)AUT ...
- Getway网关管理ZUUL
1.ZUUL微服务网关 微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService.ProductService.UserService...,为了让调用更简单,一般会在这些服 ...
- 《LeetBook》leetcode题解(14):Longest Common Prefix[E]
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...
- ie和火狐事件addEventListener()及attachEvent()区别分析
Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点.d ...