Init-Script

/etc/init.d 腳本中 chkconfig 執行級別的連字元是什麼意思?

  • January 1, 2017

我只是有一個簡單的問題,但是在搜尋引擎中我沒有找到任何關於執行級別中的-(連字元)在chkconfig初始化腳本文件中實際代表什麼的解釋。

例如/etc/init.d/mysqld在前幾行是這樣的:

#!/bin/bash
#
# mysqld        This shell script takes care of starting and stopping
#               the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36

如果有人可以向我提供一個連結來解釋這一點,那就太棒了。

-初始化腳本中的連字元 ( ):

#!/bin/sh
#
# chkconfig: - 24 73

表示預設情況下不應在任何執行級別啟動該服務,而應僅停止該服務。

它替換了執行級別列表(例如 345),如下所示:

#!/bin/sh
#
# chkconfig: 345 24 73

因此,如果您使用:

chkconfig --add <script>

init那麼在任何目錄中都不會創建起始連結。

$ ll rc*.d/*script*
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc0.d/K73script -> ../init.d/script
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc1.d/K73script -> ../init.d/script
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc2.d/K73script -> ../init.d/script
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc3.d/K73script -> ../init.d/script
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc4.d/K73script -> ../init.d/script
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc5.d/K73script -> ../init.d/script
lrwxrwxrwx. 1 root root 17 Apr 24  2014 rc6.d/K73script -> ../init.d/script

請注意僅Kill存在腳本連結 ( K73script)。

參考:

可以在softpanorama.org上找到對此的參考:

第一行告訴 chkconfig 預設情況下應該在哪個執行級別啟動服務,以及啟動和停止優先級。如果預設情況下不應在任何執行級別中啟動服務,則應使用 - 代替執行級別列表。

引用自:https://unix.stackexchange.com/questions/164603