/dev/du11) then     echo oldboy..."/>
溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

老男孩教育每日一題:2017年3月9日-請(qǐng)解釋下面Shell腳本中if開(kāi)頭的整行代碼的意思及應(yīng)用場(chǎng)景嗎?

發(fā)布時(shí)間:2020-04-09 14:21:22 來(lái)源:網(wǎng)絡(luò) 閱讀:68 作者:李導(dǎo) 欄目:MySQL數(shù)據(jù)庫(kù)

請(qǐng)解釋下面Shell腳本中 if開(kāi)頭的整行代碼的意思,你見(jiàn)過(guò)它的應(yīng)用場(chǎng)景么?

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

面試題:請(qǐng)解釋if (kill -0 $pid 2>/dev/null)代碼的意思?

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

老男孩解答要點(diǎn):

  1.  kill -0 $pid中的-0表示不發(fā)送任何信號(hào)給PID對(duì)應(yīng)的進(jìn)程,但是仍會(huì)對(duì)變量值PID對(duì)應(yīng)的進(jìn)程是否存在進(jìn)行檢查,如果$pid對(duì)應(yīng)的進(jìn)程存在,則返回0,不存在返回1。

  2.  2>/dev/null不輸出錯(cuò)誤信息。

  3.  系統(tǒng)里的應(yīng)用場(chǎng)景是MySQL的/etc/init.d/mysqld腳本中停止MySQL服務(wù)的腳本代碼段。

  4.  使用/etc/init.d/mysqld stop命令執(zhí)行腳本關(guān)閉數(shù)據(jù)庫(kù)的程序代碼如下:

 

  '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

    ;;


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI