老男孩教育每日一题:2017年3月9日-请解释下面Shell脚本中if开头的整行代码的意思及应用场景吗?
admin
2023-05-20 12:02:54
0

请解释下面Shell脚本中 if开头的整行代码的意思,你见过它的应用场景么?

if(kill -0 $pid 2>/dev/du11)
then
    echo"oldboy"
else
   echo"oldgirl"
fi

面试题:请解释if (kill -0 $pid 2>/dev/null)代码的意思?

if(kill -0 $pid 2>/dev/null)
    then
       echo "oldboy"
else
       echo "oldgirl"
fi

老男孩解答要点:

  1.  kill -0 $pid中的-0表示不发送任何信号给PID对应的进程,但是仍会对变量值PID对应的进程是否存在进行检查,如果$pid对应的进程存在,则返回0,不存在返回1。

  2.  2>/dev/null不输出错误信息。

  3.  系统里的应用场景是MySQL的/etc/init.d/mysqld脚本中停止MySQL服务的脚本代码段。

  4.  使用/etc/init.d/mysqld stop命令执行脚本关闭数据库的程序代码如下:

 

  'stop')

    # Stop daemon. We usea signal here to avoid having to know the

    # root password.

    iftest-s"$mysqld_pid_file_path"

    then

      mysqld_pid=`cat "$mysqld_pid_file_path"`

      if (kill-0$mysqld_pid2>/dev/null)

      then

        echo$echo_n"Shutting down MySQL"

        kill$mysqld_pid

        # mysqld shouldremove the pid file when it exits, so wait for it.

        wait_for_pid removed "$mysqld_pid""$mysqld_pid_file_path"; return_value=$?

      else

        log_failure_msg "MySQL server process #$mysqld_pidis not running!"

        rm"$mysqld_pid_file_path"

      fi

      # Delete lock forRedHat / SuSE

      if test-f"$lock_file_path"

      then

        rm-f"$lock_file_path"

      fi

      exit$return_value

    else

      log_failure_msg "MySQLserver PID file could not be found!"

    fi

    ;;


相关内容

热门资讯

官方通报柳州5.2级地震:3人... 据中国地震台网正式测定,2026年5月18日00时21分,在广西柳州市柳南区发生5.2级地震。在此前...
广西柳州发生5.2级地震,已致... 新华社南宁5月18日电(记者农冠斌、杨驰)5月18日0时21分,广西柳州市柳南区发生5.2级地震,震...
国家信息光电子创新中心成功研发... 5月15日消息,据“中国光谷”公众号,国家信息光电子创新中心(NOEIC)近日成功自主研发了一款超宽...
特朗普称如果伊朗不迅速行动,“... 新华社华盛顿5月17日电(记者徐剑梅 黄强)美国总统特朗普17日在社交媒体发文称,如果伊朗不迅速行动...
柳州5.2级地震致楼房倒塌,店... 据中国地震台网消息,5月18日00时21分在广西柳州市柳南区发生5.2级地震,震源深度8千米。有网友...
“华南第一商圈”再升级!全国首... 5月16日,“万兆AI惠商,联通美好未来”2026年517电信日暨中国联通品牌与产品广东宣传推广会在...
原创 3... 如果今年618你手里预算在3000多元,又特别看重拍照,我反而不建议只盯着那些刚发布、热度很高的新机...
苹果首款折叠屏iPhone U... 快科技5月17日消息,今年4月曾有消息称,苹果首款折叠屏手机iPhoneUltra(iPhone F...
广西柳州发生5.2级地震,南宁... 据中国地震台网正式测定,5月18日0时21分在广西柳州市柳南区发生5.2级地震,震源深度8公里,震中...
购药新规落地!多地药房称买“减... 5月17日消息,近日有消息称,自5月15日起,司美格鲁肽、替尔泊肽等GLP-1药物均需要凭有效期内的...