Linux shell:脚本判断进程是否在运行

  • Post author:
  • Post category:linux



一.命令说明


ps aux | grep 进程名 | grep -v grep :进程存在则输出信息,不存在则没输出

ps -ef | grep 进程名 | grep -v grep | wc -l :进程存在则输出行数(也就是数量),不存在则输出0


二.运行示例demo


方法一:

新建脚本:touch test.sh

添加如下内容:

#!/bin/sh
processNum=`ps | grep 进程名 | grep -v grep | wc -l`;
echo $processNum
if [ $processNum -eq 0 ];then
    echo not running 
else
    echo running
fi

sleep 5

赋予权限:chmod 777 test.sh

运行结果:

在这里插入图片描述
kill 进程号(PID)

在这里插入图片描述

方法二:

#!/bin/sh
process=`ps | grep bsa_server | grep -v grep`;
echo $process
if [ "$process" == "" ];then
   echo not running
else
   echo running
fi

sleep 5

如果添加while循环:

while true
do
   ###add the shell code
done

三、判断某文件是否存在

if [ ! -f "/data/log.txt" ];then
  echo "log.txt not exist"
else
  echo "log.txt exist,delete"
  rm -rf log.txt
fi



版权声明:本文为lindamtd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。