目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志. 1.crontab修改 # crontab -e */ * * * * /mnt/bindmonitor.sh 2./mnt/bindmonitor.sh 的实现 #! /bin/sh host_dir=`echo ~` # 当前用户根目录 proc_name="/home/wkub…
目的:linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理:由定时任务crontab调用脚本,脚本用ps检查进程是否存在,如果不存在则重启并写入日志. 1.crontab修改 chen@IED_40_125_sles10sp1:~/CandyAT/Bin> crontab -e */1 * * * * /home/chen/CandyAT/Bin/monitor.sh 上面的意思是每分钟调用一下脚本monitor.sh 2.moni…
/opt/a.sh #! /bin/bash ps -ef | grep python3 a.py | grep -v grep | grep python3 if [ $? -ne 0 ] then cd /opt/a.py && python3 a.py else echo "running" fi 之后写一个定时脚本2分钟捕捉一次 2 * * * * /opt/a.sh…
linux 进程监控 supervise Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序. 使用: mkdir test cd test vim run 写入希望执行的操作 supervise test (注意这里是的参数是run文件上层的文件夹,改变run的为可执行 chmod +x run) monit      monit是一个小型的开放源码工具来管理和监控Unix系统.Mon…
tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中[grep -w '.....']中的.....需要替换为实际部署的tomcat文件夹名,如下) TomcatID=$(ps -ef |grep tomcat |grep -w '/usr/local/tomcat/apache-tomcat-8.5.31'|grep -v 'grep'|awk '…
C# 通过代码 Process.Kill 方法杀死桌面进程后,会自动重启 其实可以通过 Taskkill 指令结束桌面进程, 在命令行查看 taskkill 帮助, TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F] 描述: 使用该工具按照进程 ID (PID) 或映像名称终止任务. 参数列表: /S system 指定要连接的…
编辑Crontab crontab -e 按i进行编辑 */ * * * * /root/monitor.sh # 每分钟运行一遍monitor.sh脚本 * * * /sbin/reboot # 每天凌晨5点自动重启服务器 */ * * * * /root/monitor.sh # 每分钟运行一遍monitor.sh脚本 * * * /sbin/reboot # 每天凌晨5点自动重启服务器 重启服务 systemctl restart crond monitor.sh #!/bin/sh ec…
设计思想:编写批处理脚本监控进程的运行状态,如果发现进程停止,则自动重启该进程.批处理脚本(jk.bat)和进程脚本(hello.bat)如下: 1.jk.bat @echo off rem 定义需监控程序的进程名和程序路径,可根据需要进行修改 set AppName=myHello.jar set AppPath=C:\Users\dongbr\Desktop\test\ title 进程监控 cls echo. echo 进程监控开始…… echo. rem 定义循环体 :startjc r…
脚本文件 该脚本实现了一个检测进程是否存在,不存在的情况下重启进程并且记录日志. #! /bin/sh proc_name="console/queue/gift.php" # 进程名 log_name="/data/log/watch_queue.log" # 日志文件 pid=0 proc_num() # 计算进程数 { num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num } pro…
1 创建循环监听脚本  autostart.sh 例: 其中futures-market-server-v3andwebsoket.jar 是要监听的执行程序 #/bin/bashwhile true;do count=`ps -ef | futures-market-server-v3andwebsoket.jar | grep -v grep|wc -l` if [ ${count} -lt 1 ]; then /./home/quant/futures/jar/futures-market…
<1> cat /proc/进程id/status   找到该子进程对应的父进程,将其父进…
#!/bin/sh MAXRSTCOUNT=; PROCTOGO=/mnt/hgfs/code/test/show #count is the counter of test started times count= sys_reboot() { echo "system is going to reboot"; reboot; } main_loop() { while : do ######################################### ProStillRu…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://coolerfeng.blog.51cto.com/133059/50126 Monit是一款功能非常丰富的进程.文件.目录和设备的监测软件,用于Unix平台. 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.monit运行于应用层 安装很简单,三部曲 #./configure #make #make install   复制配置文件 # cp…
2017年8月21日 17:51:33 星期一 supervisor python写的, 用来监控进程是否启动, 之前监控进程是否启动, 没有就拉起的shell代码是写在crontab里的, 这个软件提供了配置管理功能 参考文章: 配置1:  http://www.cnblogs.com/lianer/p/5560922.html 配置2: http://www.cnblogs.com/shijingjing07/p/6024066.html //=======安装======// 下载pyth…
由于服务器上一些进程莫名的挂掉,需要些一个monitor的bash脚本来监控这些进程: #! /bin/bash #chkconfig info ### BEGIN INIT INFO # Provides: # Default-Start: # Default-Stop: # Description: ### END INIT INFO MYSQL_NAME='mysql' APACHE_NAME='http' function check_process { search_string=$…
现在想要监控服务的流量和并发数,可是又没那么多时间来写系统,其他的运维系统又不熟悉,于是就用现有的rrdtool shell做了个简单的监控界面,临时用下,也算是个小实验把. rrdtool也是刚接触,算是一个小练习 流程 大致的流程是这样的(centos6操作系统) 初始化rrd数据库 shell脚本定时更新rrd中的数据 shell脚本定时画图(这里就画了一个24小时的)生成图片 html,把图片包含里面. 界面可以直接访问 开发 初始化 主要就是2个功能,24小时流量图,24小时并发图(5…
最近使用centos在建站,没有用市面上的什么服务商的服务器,自己用树莓派3B+建了这个博客.但是发现经常宕机,所以想看看服务器在干什么,百度了很久,发现vmstat命令不错,拿出来推荐推荐. 这是我很喜欢用的一个命令,它可以简洁的查看使用状态,并且它使用起来很方便,它有两个参数,一个是间隔秒数,一个是读取次数,具体方法如下: [root@localhost ~]# vmstat 5 10 procs -----------memory---------- ---swap-- -----io--…
#!/bin/bash WORKDIR="/usr/local/gse/gseagent" [[ -d $WORKDIR ]] && { if ! ps aux|grep './gseAgent' | grep -v grep;then echo 'starting gseagent...' cd $WORKDIR/ ./start.sh echo echo 'start gseAgent success.' else echo echo 'gseAgent start…
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的工具,您可以 挑选适用于您的监控场景的工具. 1.Top-Linux进程监控 Lin…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px;…
之前在做爬虫的时候遇到一种情况,当网络情况不太好的时候,爬虫爬到的链接在urlopen时会因为无法正常连接而报URLError或者timeout的错误导致陈序报错而终止:但是这些错误在重新运行陈序后能够解决,因此为了避免重复手动重启程序的麻烦,就想写脚本来自动重启. 思路很简单: 1.首先脚本检测目标程序是否在运行.这里我们可以用pidof的返回值来判断. 2.如果脚本检测到程序尚未运行或程序运行出错,重启程序.这里需要用到linux的$?变量,该变量能返回上一次命令的运行状态.其中0为运行正常…
如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务. 下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动. 必须注意两点: 1.ps |grep 一个进程时必须加上其路劲,否则容易grep到错误的结果: 2.必须用 -v 从结果中去除grep命令自身,否则结果非空. 复制代…
监控redis进程,如果没有自动重启 #Time:2016-01-22#Version:1.0 #Author:chh-huang #设置环境变量source /etc/profile#source ~/.bash_profile # 日志输出redisMonitorLog=/tmp/redisMonitor.log # redis进程 redis_status=`ps -ef | grep redis|grep "redis-server"|grep -v grep|awk '{pr…
程序启动后,有些是以daemon的形式运行,但在意外退出后,如果不能及时重新启动,会有比较严重的影响. 比如Zimg在图片处理中由于某些图片处理失败,会导致zimg进程挂掉,影响正常的服务提供,并且只能在服务失效后才能察觉到.必须采用一个进程守护来时刻保证zimg进程挂掉后,再自动重新启动.本篇介绍Supervisor工具来进行Zimg进程的守护. Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启…
实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则执行我们预设的重启脚本. 首先我们要向crontab加入一个新任务 sudo crontab -e #进入编辑状态,选用vi编辑. */ * * * * sh /root/monitor.sh #添加每分钟检测 我这里只是简单的设置每分钟调用一个shell脚本monitor.sh.这里可以配置的更强大,大家可以去搜索一下crontab的教程,网上有很多这类的教程.这里需要注意的是,很多教程配置comman…
layout: post title: Linux之systemd服务配置及自动重启 date: 2019-09-09 tags: linux --- Linux之systemd服务配置及自动重启 0 背景 在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方法很简单,使用linux系统的systemd即可实现 1 systemd介绍 历史上,linux的启动一直采用init进程,比如 $ sudo /e…
近期花时间研究了一下windows和linux下某服务停了后自动重启的功能,在网上收集了些资料,并经过测试,在此整理一下.这里介绍的是windows服务的监控,是通过批处理来实现的.本例是监控windows的Computer Browser为例,每60秒检测一次(可根据实际需要调整间隔),当发现服务停止后自动重启.AutostartService.bat批处理文件内容如下   @echo off rem 定义循环间隔时间和监测的服务: set secs=60 set srvname="Compu…
ar包自动上传Linux并且自动重启tomcat 用的是jdk1.7出的文件监控 支持ftp和sftp,支持多服务器负载等 配置好config 非maven项目导入直接使用 #\u76D1\u542C\u76EE\u5F55localPath=C\:\\Personal\\Desktop\\war sms_send.host=192.168.4.175sms_send.port=22sms_send.username=rootsms_send.password=pswsms_send.tomca…
树莓派是神奇的机器,CPU和内存都少的可怜,但体积小功耗低,在上面搞些动搞些西其实也挺有意思,挺好玩的.装的是pidara,基本服务没有精简多少,先cat一下CPU和RAM. [able@raspi ~]$ cat /proc/cpuinfo Processor : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 464.48 Features : swp half thumb fastmult vfp edsp java tls CPU im…
无论什么程序都不可能完美无缺,理论上,任何程序都有 Core Dump 的一天,正式运营的程序,尤其是服务器程序,一旦 Core Dump ,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美梦中,被电话惊醒的惨痛经历,手忙脚乱把服务器重新启动,第二天上班还要被老板一顿狠批. 所以,程序发生错误时自动重启变得很重要.这里集中讨论 linux 实现自动重启程序的方法. linux 下实现程序的自动重启有很多方法,这里我们介绍的是通过自己写脚本来实现. 自动重启脚本,假定需要实现重启的程序名…