# 检测一个二进制可运行程序是否运行:# 使用方法:
        status [-p pidfile] {program}status() {
        local base pid pid_file=
        # Test syntax.          # 测试调用该函数时的参数格式。
        if [ "$#" = 0 ] ; then
                echo $"Usage: status [-p pidfile] {program}"   
               # 如果调用该函数没有给一个参数的话就显示:该函数的使用方法,然后直
               #接退出。退出状态码:1
                return 1        fi
        if [ "$1" = "-p" ]; then
                pid_file=$2     
                shift 2        fi
        base=${1##*/}   # 使用$base 记录二进制可运行程序的文件名。
        # First try "pidof"
        __pids_var_run "$1" "$pid_file"  
        # 调用函数:__pids_var_run 来检测二进制程序的运行状态。
        RC=$?
        if [ -z "$pid_file" -a -z "$pid" ]; then  
        # 如果调用 status时,没有传递pidfile文件,并且没有检测到PID号
                pid="$(__pids_pidof "$1")"   
          # 因为有些二进制可运行程序,是不会把PID写到 
          # /var/run/$base.pid文件当中的。就调用函数__pids_pidof来查找PID号
        fi####################################################################
        if [ -n "$pid" ]; then   
        # 如果查到二进制运行程序的PID号,就代表该该二进制程序是运行的。
                echo $"${base} (pid $pid) is running..."
                return 0        fi
        case "$RC" in   
        # 根据函数:__pids_var_run返回的状态码,来判断二进制程序的运行状态。
                0)
                        echo $"${base} (pid $pid) is running..."
                        return 0                        ;;
                1)
                        echo $"${base} dead but pid file exists"  
                      # 如果函数:__pids_var_run返回的状态码是:1 ,的话....
                        return 1                        ;;
        esac#####################################################################
        # See if /var/lock/subsys/${base} exists   # ***锁文件。
        if [ -f /var/lock/subsys/${base} ]; then
                echo $"${base} dead but subsys locked"
                return 2        fi
        echo $"${base} is stopped"
        return 3}


https://blog.51cto.com/9528du/1420154