Shell脚本实现检测进程是否正在运行_linux 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进程。以及当前这个正在执行的脚本。
使用保存文件后,确保具有可执行属性。

时间: 2024-10-07 11:34:00

Shell脚本实现检测进程是否正在运行_linux shell的相关文章

Shell脚本中获取进程ID的方法_linux shell

提问: 我想要知道运行中脚本子shell的进程id.我该如何在shell脚本中得到PID. 当我在执行shell脚本时,它会启动一个叫子shell的进程.作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为"批处理进程"). 在某些情况下,你也许想要知道运行中的子shell的PID.这个PID信息可以在不同的情况下使用.比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件.有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身

如何编写一个shell脚本查看某个进程是否在运行

问题描述 我需要做一个shell脚本,运行在Linux上,检查某个进程是否在运行,如果在运行则返回1,不在运行则返回0,在下对shell脚本不是很熟,请大家帮忙解决一下,谢谢啦-- ps:进程名称不能写死,应该是执行命令是传入的参数 解决方案 #!/bin/bashPROC_NAME=$1ProcNumber=`ps -ef |grep $PROC_NAME|grep -v grep|wc -l`if [ $ProcNumber -le 0 ];then result=0else result=

关于Shell脚本效率优化的一些个人想法_linux shell

一.先说一下Shell脚本语言自身的局限性 作为解释型的脚本语言,天生就有效率上边的缺陷.尽管它调用的其他命令可能效率上是不错的. Shell脚本程序的执行是顺序执行,而非并行执行的.这很大程度上浪费了可能能利用上的系统资源. Shell每执行一个命令就创建一个新的进程,如果脚本编写者没有这方面意识,编写脚本不当的话,是非常浪费系统资源的. 二.我们在Shell脚本语言的局限性上尽可能的通过我们有经验的编码来提高脚本的效率. 1.比如我想做一个循环处理数据,可能是简单的处理一下数据,这样会让人比

Shell脚本的条件控制和循环语句_linux shell

条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误. if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句 if ... else ... fi 语句 if ... elif ... else ... f

shell脚本中取消重定向的方法实例_linux shell

在上一篇关于shell编程的例子中,有讲到把shell脚本进行扩展之后重定向到一个文件中,以便进行查看和调试http://www.jb51.net/article/62435.htm.但是,若是有另一种情况:只是在某些地方进行重定向,而其他地方不进行重定向.那么我们就来修改一下上一篇中的例子来进行这种需求的满足: 复制代码 代码如下: #!/bin/bash function setlogfile {     if ! [ -z "$1" ]; then         echo &q

Shell脚本实现递归删除空文件夹_linux shell

有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的Shell脚本,于是自己动手写了一个 脚本 复制代码 代码如下: #!/bin/bash # author: 十年后的卢哥哥 # des: delete empty directories recursive deleteempty() {   find ${1:-.} -mindepth 1 -maxdepth 1 -type d | while read -r dir   do     if [[ -z "$(find "

Shell脚本编写Nagios插件监控程序资源占用_linux shell

一般情况下,我们只需要监控程序进程在没在就可以了.但是这次遭遇了这样的事,公司开发的程序,程序进程还在,但是死锁了.导致大范围的影响,更要命的是根本不知道问题出在哪里,还是别的测试部同事帮忙发现的,真是丢尽运维的脸了- 为避免下次再遭遇到这样的情况,分析了这次进程死锁的现象,发现死锁会占用100%的cpu,正常情况下只占用10%以内.决定编写nagios插件,用来监控程序占用的资源,包括cpu,内存等. 一.shell脚本需求分析:    能设置cpu,mem的阈值,资源占用超过阈值就报警.  

shell脚本编程之if语句学习笔记_linux shell

我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看.先来学习一下条件语句if的用法,通过这一个简单的语法来说明一下shell脚本编程时候的东西. 复制代码 代码如下: #!/bin/sh echo "please input text1" read text1 echo "please input text2" read text2 #判断字符串等

一个强大的网络分析shell脚本分享(实时流量、连接统计)_linux shell

介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介绍下. 脚本运行效果截图: 此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计每个端口在10秒内的平均流量,基于客户端和服务端端口统计.可以看出哪些端口占流量比较大,对于web服务器,一般是80端口.其它端口受到攻击时,也有可能其它端口流量比较大.所以此功能可以帮助我们端口流量是否正常. 4.统计在10s内占用带宽最大的前10个ip.此项功能可以帮助我们来查出是否有恶意占用