我需要做一个shell脚本,运行在Linux上,检查某个进程是否在运行,如果在运行则返回1,不在运行则返回0,在下对shell脚本不是很熟,请大家帮忙解决一下,谢谢啦~~ 

    ps:进程名称不能写死,应该是执行命令是传入的参数


  1. #!/bin/bash  
  2. PROC_NAME=$1  
  3. ProcNumber=`ps -ef |grep $PROC_NAME|grep -v grep|wc -l`  
  4. if [ $ProcNumber -le 0 ];then  
  5.    result=0  
  6. else  
  7.    result=1   
  8. fi  
  9. 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}

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐