如何编写一个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=1 fiecho ${result}
解决方案二:
asyty的回答少了匹配整个进程名字的逻辑,grep应该加上 -w选项#!/bin/bash PROC_NAME=$1 ProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l` if [ $ProcNumber -le 0 ];then result=0 else result=1 fi echo ${result}

时间: 2024-10-23 08:53:42

如何编写一个shell脚本查看某个进程是否在运行的相关文章

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

编写第一个Shell脚本

最近一直在看shell方面的资料,很乏味,也不知道看的效果,正好下午Linux群里一兄弟,提出了一个他们公司的需求,听了之后有点思绪,感觉应该可以写出来,个人的第一个Script就诞生... 需求:每天登陆服务器查看磁盘空间比较麻烦,所以就想利用一个脚本,用来检测系统磁盘空间,然后将结果通过邮件的形式发送到指定邮箱. Script内容如下: #!/bin/bash #2012/09/17 by Song #Email:XXX@163.com DiskNum=`df -h | grep sda1

ubuntu-新编写的shell脚本命令,运行时,显示comamand not found

问题描述 新编写的shell脚本命令,运行时,显示comamand not found 在ubuntu 15.04 ~/目录已经建立bin文件夹,并把新编写的shell脚本,放在~/bin目录下,使用绝对目录时运行脚本文件,是可以运行的,但是在/usr/include/mysql目录下运行,脚本命令时,显示command not found 通过网上查询,说是未设置环境变量的问题,可是查看环境变量,已经包含~/bin目录,就是不清楚为什么在/usr/include/mysql目录下运行不成功 求

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

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

Linux Shell脚本查看NUMA信息

  这篇文章主要介绍了Linux Shell脚本查看NUMA信息,本文直接给出脚本实现代码,需要的朋友可以参考下 Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息. ? 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

编写可靠shell脚本的八个建议

这八个建议,来源于键者几年来编写 shell 脚本的一些经验和教训.事实上开始写的时候还不止这几条,后来思索再三,去掉几条无关痛痒的,最后剩下八条.毫不夸张地说,每条都是精挑细选的,虽然有几点算是老生常谈了. 1. 指定bash shell 脚本的第一行,#!之后应该是什么?如果拿这个问题去问别人,不同的人的回答可能各不相同. 我见过/usr/bin/env bash,也见过/bin/bash,还有/usr/bin/bash,还有/bin/sh,还有/usr/bin/env sh.这算是编程界的

编写可靠shell脚本的8个建议

这八个建议,来源于键者几年来编写 shell 脚本的一些经验和教训.事实上开始写的时候还不止这几条,后来思索再三,去掉几条无关痛痒的,最后剩下八条.毫不夸张地说,每条都是精挑细选的,虽然有几点算是老生常谈了. 1. 指定bash shell 脚本的第一行,#!之后应该是什么?如果拿这个问题去问别人,不同的人的回答可能各不相同. 我见过/usr/bin/env bash,也见过/bin/bash,还有/usr/bin/bash,还有/bin/sh,还有/usr/bin/env sh.这算是编程界的

别人给了我一个shell脚本,我从电脑里拖到虚拟机的linux系统后,如何运行这个shell

问题描述 别人给了我一个shell脚本,我从电脑里拖到虚拟机的linux系统后,如何运行这个shell 直接双击完全没反应,路径寻找./也没法运行,sh指令也不行,我是小白,懂得不多,真心求教 解决方案 先chmod -x 脚本路径 添加执行权限 然后将脚本命名为.sh文件 然后进入脚本所在目录 执行./脚本名.sh 举例说明 假如脚本名字为aaa.txt 在/tmp目录下 则命令如下 cd tmp chmod +x aaa.txt mv aaa.txt aaa.sh ./aaa.sh 解决方案

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

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