技术小黑屋

在bash中检测进程是否正在运行

这里简单介绍一个自己写的检测某个进程是否存在的bash小脚本。直接上代码。

1
2
3
4
5
6
7
8
#!/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,我们想检测这个进程是否存在,可以这样。

1
2
17:38:07-androidyue~/osc_git/shell_works (master)$ ./checkRunningProcess.sh 'SimpleHTTPServer'
Running

些许说明

  • 该脚本会自动去除包含目标信息的grep进程。以及当前这个正在执行的脚本
  • 使用保存文件后,确保具有可执行属性。

Read More

推荐


我的知乎 Live 推荐