我需要做一个shell脚本,运行在Linux上,检查某个进程是否在运行,如果在运行则返回1,不在运行则返回0,在下对shell脚本不是很熟,请大家帮忙解决一下,谢谢啦~~
ps:进程名称不能写死,应该是执行命令是传入的参数
- #!/bin/bash
- PROC_NAME=$1
- ProcNumber=`ps -ef |grep $PROC_NAME|grep -v grep|wc -l`
- if [ $ProcNumber -le 0 ];then
- result=0
- else
- result=1
- fi
- echo ${result}
回答少了匹配整个进程名字的逻辑,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}