Shell脚本实现检测进程是否正在运行

2013-10-14  来源:本站原创  分类:linux shell  人气:8 

这篇文章主要介绍了Shell脚本实现检测进程是否正在运行,本文给出的代码简洁清晰,并给出了使用方法,需要的朋友可以参考下

这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本。直接上代码。

#!/bin/bash

ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0`

result=$(echo $ps_out | grep "$1")

if [[ "$result" != "" ]];then

    echo "Running"

else

    echo "Not Running"

fi

举例使用

比如我们启动了一个这样的进程python -m SimpleHTTPServer 8000,我们想检测这个进程是否存在,可以这样。

复制代码 代码如下:

17:38:07-androidyue~/osc_git/shell_works (master)$ ./checkRunningProcess.sh 'SimpleHTTPServer'

Running

些许说明

该脚本会自动去除包含目标信息的grep进程。以及当前这个正在执行的脚本。
使用保存文件后,确保具有可执行属性。

相关文章
  • Shell脚本实现检测进程是否正在运行 2013-10-14

    这篇文章主要介绍了Shell脚本实现检测进程是否正在运行,本文给出的代码简洁清晰,并给出了使用方法,需要的朋友可以参考下 这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本.直接上代码. #!/bin/bash ps_out=`ps -ef | grep $1 | grep -v 'grep' | grep -v $0` result=$(echo $ps_out | grep "$1") if [[ "$result" != "" ]

  • Shell脚本中获取进程ID的方法 2014-04-07

    这篇文章主要介绍了Shell脚本中获取进程ID的方法,我想要知道运行中脚本子shell的进程id,我该如何在shell脚本中得到PID,阅读本文即可找到你想要答案,需要的朋友可以参考下 提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为"批处理进程"). 在某些情况下,你也许想要知道运行中的子she

  • Linux Shell脚本实现检测tomcat 2014-06-26

    这篇文章主要介绍了Linux Shell脚本实现检测tomcat的方法,推荐给小伙伴们,需要的朋友可以参考下 Linux Shell脚本检测tomcat并自动重启 后台运行命令 sh xxx.sh & 查看后台任务:jobs 召唤到前台:fg jobs编号 可以删掉while循环的代码放到crontab里面定时执行,可以将脚本直接后台运行, #!/bin/bash while [ true ] do url="http://www.jb51.net/"; httpOK=`cur

  • Shell脚本实现把进程负载均衡到多核CPU中 2014-07-13

    这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下 有时候,由于架构设计或其他业务本身特点原因,导致有些应用使用CPU很不均衡,所以业务处理集中在一个CPU上,而其它CPU闲得在睡觉.这里有个简单的优化方案实现将各个线程绑定到到多个CPU,从而实现性能的提高. 虽然CPU是一个不错的思路,但是不是杀手锏,其性能能提高多少依赖于各个线程的性能分布是否均匀:所以最好的办法是优化你的程序架构. 在这里分享一个Shell脚本(脚本名为

  • Shell脚本判断Apache进程是否存在 2013-10-30

    这篇文章主要介绍了Shell脚本判断Apache进程是否存在,若不存在则显示不存在,若存在则显示进程个数,当不等于10个时用红色字体通知管理员,需要的朋友可以参考下 写一个脚本检查Apache进程是否存在,若不存在则显示不存在,若存在则显示进程个数,当不等于10个时用红色字体通知管理员,并询问管理员是否启动Apache服务. #!/bin/bash #echo "$(service httpd status)" PIDNUM=$(pgrep httpd | wc -l) if [[ $

  • Shell脚本中让进程休眠的方法(sleep用法) 2014-05-28

    这篇文章主要介绍了Shell脚本中让进程休眠的方法,本文讲解的就是sleep的用法,可以实现睡觉若干秒.若干分钟.若干小时,需要的朋友可以参考下 有时候写Shell的脚本,用于顺序执行一系列的程序. 有些程序在停止之后并没能立即退出,就例如有一个 tomcat 挂了,就算是用 kill -9 命令也还没瞬间就结束掉. 这么如果 shell 还没等其退出就接着执行下一行,这么就出乱子了. 刚知道了原来 shell 也能有 sleep 的参数. sleep 1 睡眠1秒 sleep 1s 睡眠1秒

  • Shell脚本实现检测某ip网络畅通情况(含短信报警功能) 2014-12-12

    这篇文章主要介绍了Shell脚本实现检测某ip网络畅通情况(含短信报警功能),本文脚本针对一个服务器IP进行检查,也可改造一下,执行个多个IP的检查,需要的朋友可以参考下 花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现. #!/bin/bash #################################################################################### #本脚本放于异

  • Shell脚本实现检测Cygwin最快的镜像站点 2015-04-04

    这篇文章主要介绍了Shell脚本实现检测Cygwin最快的镜像站点,本文的原理和脚本也可适用其它软件比如apache.nginx等开源软件,需要的朋友可以参考下 这是一个 shell 脚本,所以首先你需要安装一个基本的 Cygwin 环境,当然还有 curl. 原理很简单,先从 cygwin.com 下载最新的 mirrors.lst 镜像列表,简单处理一下后,利用 curl 以此检测每个站点的连接速度,并将结果记录下来,最后再排个序,显示出最快的几个站点. 在使用的过程中,我发现检测到的最快的

  • Shell脚本实现检测文件是否被修改过代码分享 2014-05-13

    这篇文章主要介绍了Shell脚本实现的检测文件是否被修改代码分享,其实了解了原理就可以做很多事了,需要的朋友可以参考下 #!/bin/bash funmd5_1() { find /root/passwd -type f | xargs md5sum > /tmp/funmd5_1.log } funmd5_2() { find /root/passwd -type f | xargs md5sum > /tmp/funmd5_2.log } if [ ! -f /tmp/funmd5_1.l

  • Windows下通过批处理检测进程是否正在运行 2013-09-02

    在windows下如何通过批处理检测一个进程是否正在运行. @ECHO OFF SET status=1 (TASKLIST|FIND /I "qq.exe"||SET status=0) 2>nul 1>nul ECHO %status% IF %status% EQU 1 (ECHO QQ is running.) ELSE (ECHO QQ is not run.)

  • shell脚本作为保证PHP脚本不挂掉的守护进程实例分享 2014-08-03

    以下是对用shell脚本作为保证PHP脚本不挂掉的守护进程实例进行了分析介绍,需要的朋友可以参考下 前几天开始跑一份数据名单,名单需要提供用户名.是否有手机号.是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号.是否有邮箱必须得通过一个对外开放的安全接口一个一个用户去请求,然后分析返回值才能知道. 下面是我处理的方案:1.将2000w名单保存到临时数据表 2.用PHP程序每次从该表获取500个用户,检测完后生成SQL update原纪录 3.为了防止

  • shell脚本中执行时提示"没有那个文件或目录"的解决办法 2014-07-31

    故障现象:在终端直接cd /var正常,在shell脚本中执行则报错.原因是脚本是在windows平台下写的,换行符与linux不同,造成脚本不能正确执行 出现bad interpreter:No such file or directory的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来. 问题分析: 1.将windows 下编写好的SHELL文件,传到linux下执行,提示出错. 2.出错信息:bad i

  • 用于检测进程的shell脚本代码小结 2014-01-03

    本文介绍一段shell脚本,它可以检测某进程或某服务是否正在运行,然后以邮件通知.有需要的朋友参考下 一个简单的shell脚本,用来找出关键的服务是否正在运行,适用于Linux或Unix操作系统. 该脚本还可以使用电子邮件发送通知. 代码: #!/bin/bash # Name : service.chk 服务检测脚本 ## 根据自己的环境修改 _pgrep="/usr/bin/pgrep" _mail="/usr/bin/mail" ## 环境变量 _chklis

  • 一个监控Squid运行进程数并自动重启的简洁Shell脚本分享 2014-05-01

    这篇文章主要介绍了一个监控Squid运行进程数并自动重启的简洁Shell脚本分享,本文直接给出实现代码,需要的朋友可以参考下 #!/bin/sh while sleep 30 do SquidNum=`ps -ef|grep squid|grep -v grep|wc -l` #HttpNum=`netstat -an|grep 0.0.0.0:80|grep -v grep|wc -l` #80状态 if [ $SquidNum != 3 ] ; then /etc/rc3.duid star

  • 实现android自动化测试部署与运行Shell脚本分享 2013-10-09

    这篇文章主要介绍了实现android自动化测试部署与运行Shell脚本分享,本文直接给出实现代码,需要的朋友可以参考下 我的配置是linux 64, android4.2.2的sdk. 实现的细节都在代码注释里了,变量名以及echo的内容也是说明的一部分. 主流程为: 1.检测是否指定端口的模拟器已经运行,若有则关闭 2.创建模拟器 3.启动模拟器 4.用ant build包,通过检查bin目录下有没有apk来确定是否成功 5.检查指定端口的模拟器是否已正常运行 6.用adb安装apk 7.启动

  • Shell脚本实现Linux系统和进程资源监控 2014-07-25

    这篇文章主要介绍了Shell脚本实现Linux系统和进程资源监控,本文讲解了检查进程是否存在.检测进程 CPU 利用率.检测进程内存使用量.检测进程句柄使用量.,需要的朋友可以参考下 在服务器运维过程中,经常需要对服务器的各种资源进行监控,例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出现异常时及时报警,通知系统管理员.本文介绍在Linux系统下几种常见的监控需求及其shell脚本的编写. 文章目录: 1.Linux使用 Shell 检查进程是否存在 2.Linux使用 S

  • 使用Shell脚本对Linux系统和进程资源进行监控 2014-10-25

    检查进程是否存在 在对进程进行监控时,我们一般需要得到该进程的 ID,进程 ID 是进程的唯一标识,但是有时可能在服务器上不同用户下运行着多个相同进程名的进程,下面的函数 GetPID 给出了获取指定用户下指定进程名的进程 ID 功能(目前只考虑这个用户下启动一个此进程名的进程),它有两个参数为用户名和进程名,它首先使用 ps 查找进程信息,同时通过 grep 过滤出需要的进程,最后通过 sed 和 awk 查找需要进程的 ID 值(此函数可根据实际情况修改,比如需要过滤其它信息等). 清单 1

  • Shell脚本获取进程的运行时间 2013-10-25

    这篇文章主要介绍了Shell脚本获取进程的运行时间,需要的朋友可以参考下 在我们的系统中,我曾写了一个脚本去定时更新一些repository,但偶尔会遇到问题,比如:git pull之时可能会卡在那里(可能由于某时刻的网络问题),它会阻碍后面的下一次更新. 所以我就在想,我今后启动这个脚本时,进行检查,如果上次运行的脚本还没结束,而且过了某个时间阀值,就把它及其子进程给kill掉.然后,我就需要写了一个可以查询某个进程已经运行了多少时间(以second为单位)的脚本. 注意:这并不是是指进程消耗

  • 检测网段IP使用情况的shell脚本 2014-01-24

    检测网段IP使用情况的shell脚本,有需要的朋友可以参考下 #!/bin/bash #main--- network=192.168.1 ping_count=3 IP=1 :>IP_use :>IP_idle :>ping_action echo "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......" while [ $IP -lt 255 ] do host=$network.$IP echo &qu

  • Shell脚本实现自动检测修改最快的Ubuntu软件源 2014-05-11

    这篇文章主要介绍了Shell脚本实现自动检测修改最快的Ubuntu软件源,本文先是讲解了实现的思路,并给了实现脚本源码,需要的朋友可以参考下 每次装好Ubuntu,对于大多数用户来说,首先要做的事就是手动修改/etc/apt/sources.list文件,将里面的官方软件源地址更换为自己学校或者公司的软件源.当我们更换一个工作环境后,可能伴随着又要替换旧的软件源地址. 笔者觉得这样每次手动更改软件源是一件及其麻烦重复的劳动,于是编写了一个自动更新最快软件源的脚本,从此一劳永逸. 原理 最直观的想