shell脚本(管理守护进程)】的更多相关文章

使用shell脚本停止java进程,过程就是先查出对应的java进程pid,然后kill掉 - | 其中xxx是对应进程的关键词(即从查出的所有java进程中分辨出目标进程)…
工作中常常会遇到处理消息队列的消费者进程,这样的进程是一个守护进程,即一个服务.服务通常写个shell脚本来管理,查询服务的status  ,启动start 关闭stop  重启reload.最近在学习shell,也模仿写了一个简单的服务管理脚本 首先贴出模拟的守护进程服务,PHP程序,命名demo.php <?php while(true){ echo 'doing...'.PHP_EOL; sleep(10); } ?> 这是一个死循环,不停的输出. 管理的shell脚本如下 #!/bin…
#!/bin/bash base_dir=/opt war_processor="tomcat" jar_processor="manager-server.jar platform-server.jar platform-task.jar platform-trade.jar platform-user.jar" IP_ADDR=`/usr/sbin/` MALL_ADDR="493630393@qq.com" #磁盘超过百分之80发送邮件告警…
sh test.sh../test.sh与source test.sh.. test.sh执行命令的区别:sh是启用子shell执行而source或点是在当前窗口执行export A=123:定义全局变量:unset A:删除定义的全局变量:source /etc/profile:在当前脚本中导入系统环境变量(包括$PATH)全局变量配置文件执行顺序:/etc/profile---->/etc/profile.d/---->~/.bash_profile---->~/.bashrc---…
shell 执行查找进程,然后查杀进程脚本如下: ps -ef | grep 'IOE' |grep -v 'grep'| awk '{print \$2}' |while read pid; do kill -9 \$pid; done 相关命令详解: ps命令讲解:http://www.cnblogs.com/wangcp-2014/p/5146315.html grep命令讲解:http://www.cnblogs.com/wangcp-2014/p/5146335.html awk命令讲…
修正版: #!/bin/sh #check memcache process and restart if down mm_bin="/usr/local/bin/memcached" mm_log="/home/xxx/memcached_check.log" mm_ports=("11211" "11212") mm_param=("-d -m 20480 -p 11211 -u www" "…
有时候写Shell的脚本,用于顺序执行一系列的程序. 有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉. 这么如果 shell 还没等其退出就接着执行下一行,这么就出乱子了. 刚知道了原来 shell 也能有 sleep 的参数. 复制代码代码如下: sleep 1 睡眠1秒sleep 1s 睡眠1秒sleep 1m 睡眠1分sleep 1h 睡眠1小时 用法如下,例如重启tomcat: 复制代码代码如下: #!/bin/sh/…
搜索了网上好像并没有杀掉指定进程下所有子进程(包括子进程的子进程)的脚本,自己琢磨写了一版,虽说比较简单,但希望分享大家,帮助需要的人 #!/bin/sh # 递归找到进程最底层子进程并杀除. mainName=$1 echo "=====开始=====" #grep -v可以过滤掉grep的进程,但测试时有时会出现问题,所以加上获取第一行 mainId=`ps -ef |grep ${mainName}|grep -v 'grep' |head -1|cut -c 9-15`#也可以…
#! /bin/bash PROC_NAME=docker ProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l` ];then echo "testPro is not run" sh /root/shell/docker-start.sh else echo "testPro is running.." fi 判断docker进程是否存在,如果不存在则重启.…
使用Ubuntu系统时常会遇到机器卡死的情况(人生最大的痛苦),所有的键都没有用,只好强制关机,我似乎对此已经'乐此不疲了'. 看到又神牛说: 可以在tty里面把相关的进程杀死,之后就正常.(到目前我还没有试过,好奇怪,自从写了这个脚本就再没有遇到死机的情况) 我用的一个脚本就是: ######################################################################### # File Name: stopproc.sh # Author:…
#!/bin/bash#获取XXX项目进程IDXXXpid=`ps -ef | grep XXX | grep -v grep | awk '{print $2}'` echo "XXX项目进程ID为:$XXXpid" #杀进程echo "kill XXX PID..."for id in $XXXpiddo kill -9 $iddone echo "$XXXpid已杀死..." echo "重启XXX...". ./sta…
代码本来是别人那里拿来的,自己又改了下,给busybox用. #! /bin/sh PRO_PATH=/opt/myapp PROGRAM=packet_analyzer while true ; do PRO_NOW=`ps | grep $PROGRAM | grep -v grep | wc -l` ] ; then $PRO_PATH/$PROGRAM >/dev/>& & date >> /tmp/god.log echo "we lost th…
前几天开始跑一份数据名单,名单需要提供用户名.是否有手机号.是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号.是否有邮箱必须得通过一个对外开放的安全接口一个一个用户去请求,然后分析返回值才能知道. 下面是我处理的方案: 1.将2000w名单保存到临时数据表 2.用PHP程序每次从该表获取500个用户,检测完后生成SQL update原纪录 3.为了防止PHP程序突然断掉,用shell脚本每隔1分钟检测,PHP挂掉了则重启 我使用shell脚本作为守…
守护进程deamon 是一个后台进程,无需用户输入就能运行,用来在系统后台提供某种服务. 常见的守护进程有Wbe服务器.邮件服务器以及数据库服务器等等.守护进程不能控制终端,所以任何的输入和输出都需要做特殊处理. 创建守护进程的过程并不复杂,首先执行fork(),将父进程退出. 一个守护进程是从shell脚本或者命令启动,守护进程和应用程序不同的地方是守护进程不是交互式的,它在后台运行,不控制终端. 守护进程既不需要从标准输入设备读入信息,也不需要从标准输出设备输出信息. 下一步是在子进程中调用…
supervisor没有发布在标准的CentOS源在,需要安装epel源.这种方式安装的可能不是最新版本,但比较方便,安装完成之后,配置文件会自动帮你生成. 默认配置文件:/etc/supervisord.conf 进程管理配置文件放到:/etc/supervisord.d/目录下即可 1. 首先确定你的yum仓库有supervisor的包: yum list | grep supervisor 如果没有先加入repo源. centos6: wget http://download.fedora…
在之前的博客中,以前写了自己主动化測试程序的实现方法,如今开发人员须要知道被測试的进程(在此指执行在LINUX上的主进程的)在异常退出之前的进程的执行状态,比如内存的使用率.CPU的使用率等. 现用shell脚本实现指定进程的执行状态. 直接上代码. #!/bin/sh echo "`date`" echo "Start $0---------" echo "" #每十秒监视一下 sec=10 #取得指定进程名为mainAPP.内存的使用率.进程…
在之前的博客中,曾经写了自动化测试程序的实现方法,现在开发者需要知道被测试的进程(在此指运行在LINUX上的主进程的)在异常退出之前的进程的运行状态,例如内存的使用率.CPU的使用率等. 现用shell脚本实现指定进程的运行状态.直接上代码. #!/bin/sh echo "`date`" echo "Start $0---------" echo "" #每十秒监视一下 sec=10 #取得指定进程名为mainAPP,内存的使用率,进程运行状态…
Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的.守护进程是生存期长的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.他们常常在系统引导装入时启动,在系统关闭时终止.linux系统有很多守护进程,大多数服务器都是用守护进程实现的.同时,守护进程完成许多系统任务,比如,作业规划进程crond.打印进程lqd等.有些书籍和资料也把…
概括: 进程是程序的运行实例.进程对应一个唯一的进程PID, 统一程序的多个实例可以同时运行,他们的pid互不相同. 进程一般分为交互进程.批处理进程和守护进程(daemons)三类 一:什么是守护进程: Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由 运行在后台的守护进程(daemons)来执行的.守护进程是生存期长的一种进程.它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事 件.…
原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统.它可以很方便的监听.启动.停止.重启一个或多个进程.用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进…
一.概念及其特征 守护进程是系统中生存期较长的一种进程,常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,在后台运行.守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断. 在这里,我们在Linux2.6内核的centos中,ps -ef |awk '{print $1"\t "$2"\t "$3"\t  "$8}'看到:PPID=0的进程有两个,分别是PID=1的/sbin/i…
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容.只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础. 1.2 学好Shell编程所需的基础知…
一.systemd 1.systemd简介 1️⃣:systemd是用户空间的第一个应用程序,即/sbin/init 2️⃣:init程序的类型: SysV风格:init(centos5),实现系统初始化时,随后的初始化操作都是借助于脚本来实现的 特点: 脚本中含有大量的命令,每个命令都要启动一个进程,命令执行完以后就要终止这个进程. 系统初始化时将大量的创建进程,销毁进程,工作效率会非常低 服务间可能会存在依赖关系,必须严格按照一定的顺序来启动服务,前一个服务没启动完后面的服务就无法执行启动过…
由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. 一.轮询监控实现: 1. 使用crontab,缺点一分钟轮询一次 2. 使用shell死循环进行轮询 参考:https://blog.csdn.net/u011261430/article/details/72921991 由于我们系统使用人数比较少,所以我选择crontab进行轮询 二.环境变量…
[脚本1]打印形状打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n $n` do for ((j=$n;j>i;j--)) do echo -n " " done $i` do echo -n "* " done echo done # 倒直角三角形 read -p "Please input the length:…
$@和$*区别 不加引号的时候没区别 #! /usr/bin/bash function print_args_at { printf "%s\n" $@ echo $@ } function print_args_star { printf "%s\n" $* echo $* } print_args_at "one" "two three" "four" echo "*************…
本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n for i in `seq 1 $n` do for ((j=$n;j>i;j--)) do echo -n " " done for m in `seq 1 $i` do echo -n "* " done e…
最近搭建的svn服务不知道什么原因服务总是被关闭(如果你不知道怎么搭建svn可以参考linux下搭建svn版本控制软件),因此用shell脚本实现一个守护进程.用于监控svn服务是否启动,如果服务不在则启动. 创建监控脚本svnmonit.sh #! /bin/sh #进程名字可修改 PRO_NAME=svnserve PORT=58652 REP_DIR=/www/svndata while true ; do #用ps获取$PRO_NAME进程数量 NUM=`ps aux | grep ${…
转自:http://blog.csdn.net/cybertan/article/details/3235722 转自:http://blog.sina.com.cn/s/blog_4c451e0e0100giqg.html 设想:用一个shell查看一个后台运行的PHP程序是否非正常退出 如果退出,利用守护进程自动restart. 类似mysql的safe_mysqld 共3个程序 shstart.sh 负责启动 sh.sh 守护进程主程序 shstop.sh 安全退出守护进程和php程序主体…
嵌入式初学者,第一次上传代码.昨天做了一个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=udhcpc WLAN=ra0    while true ; do    #    用ps获取$PRO_NAME进程数量   NUM=`ps…