Manpages

名 前

initctl − simpleinit(8) を 制 御 す る た め の ユ ー テ ィ リ テ ィ

書 式

need [-r] service
display-services
provide service

概 略

initctl プ ロ グ ラ ム は 、 シ ス テ ム 起 動 ス ク リ プ ト の 堅 牢 さ ・ 拡 張 性 ・ 可 読 性 を 向 上 す る た め に デ ザ イ ン さ れ て い る 。 現 在 で は 、 SysV 形 式 の 起 動 ス ク リ プ ト で 使 わ れ て い る 複 雑 で 脆 い 多 く の シ ン ボ リ ッ ク リ ン ク に よ る 方 法 を 使 う こ と な く 、 モ ジ ュ ー ル 化 し た 起 動 ス ク リ プ ト を 書 く こ と が で き る 。 各 ス ク リ プ ト は 、 そ れ を 起 動 す る 前 に 何 が 必 要 か を need(8) を 使 っ て 簡 単 に 宣 言 で き る 。

need の 説 明

need プ ロ グ ラ ム は 、 simpleinit(8) に 対 し て service (通 常 は /sbin/init.d 内 の ス ク リ プ ト ) を 開 始 す る よ う に 指 示 し 、 そ の service が 使 用 可 能 に な る ま で 待 た せ る た め の ユ ー テ ィ リ テ ィ で あ る 。 service が 既 に 使 用 可 能 な 場 合 、 再 び 起 動 さ れ る こ と は な い 。

-r オ プ シ ョ ン は 、 simpleinit(8) に 対 し て service ま で の サ ー ビ ス を 「 押 し 戻 す (roll back)」 (停 止 す る ) よ う に 指 示 す る (指 定 さ れ た サ ー ビ ス は 含 ま な い )。 service が 指 定 さ れ な い 場 合 、 全 て の サ ー ビ ス を 停 止 す る 。 よ っ て 、 -r オ プ シ ョ ン に よ り 、 シ ス テ ム を 部 分 的 ま た は 全 体 的 に 順 序 立 て て シ ャ ッ ト ダ ウ ン す る こ と が で き る 。 実 行 す る た め に は 、 未 だ に shutdown(8) プ ロ グ ラ ム が 必 要 と さ れ る 。

display-services の 説 明

display-services と し て 起 動 さ れ た 場 合 、 現 在 使 用 可 能 な サ ー ビ ス の リ ス ト と 失 敗 し た サ ー ビ ス の リ ス ト を 標 準 出 力 に 書 き 出 す 。

provide の 説 明

provide と し て 起 動 さ れ た 場 合 、 simpleinit(8) に 対 し て 親 プ ロ セ ス (呼 び 出 し た プ ロ セ ス ) が service と い う 名 前 の サ ー ビ ス を 提 供 す る よ う に 指 示 す る 。 呼 び 出 し た プ ロ セ ス が 正 常 に (ス テ ー タ ス 0 で ) 終 了 し た 場 合 、 サ ー ビ ス が 使 用 可 能 で あ る と 考 え ら れ る 。 service の イ ン ス タ ン ス は 1 つ だ け 起 動 さ れ る の で 、 他 に こ の サ ー ビ ス を 提 供 す る プ ロ グ ラ ム は ブ ロ ッ ク さ れ て 失 敗 す る 。

provide を 使 う こ と に よ り 、 同 じ (一 般 的 な ) サ ー ビ ス を 提 供 で き る 複 数 の プ ロ グ ラ ム を 持 つ こ と が で き る (例 え ば sendmailqmail は 共 に mta サ ー ビ ス を 提 供 す る )。 こ こ で 、 実 際 に サ ー ビ ス を 提 供 す る の は 1 つ だ け で あ る 。 こ れ は 設 定 フ ァ イ ル を チ ェ ッ ク す る サ ー ビ ス 起 動 ス ク リ プ ト で 使 う こ と が で き る 。

終 了 コ ー ド

サ ー ビ ス が 正 常 に 起 動 し た 場 合 、 need か ら の 終 了 コ ー ド は 0 で あ る 。 サ ー ビ ス が 失 敗 し た 場 合 は 1 で あ る 。 サ ー ビ ス が 使 用 不 能 の 場 合 (つ ま り 、 設 定 フ ァ イ ル で 不 可 に さ れ て い る 場 合 ) は 2 で あ る 。 こ れ ら の 終 了 コ ー ド は 、 サ ー ビ ス 起 動 ス ク リ プ ト か ら の 終 了 コ ー ド を 反 映 す る 。 サ ー ビ ス が 正 常 に 停 止 し た 場 合 、 need -r か ら の 終 了 コ ー ド は 0 で あ る 。 サ ー ビ ス が 停 止 で き な か っ た 場 合 は 1 で あ る 。 サ ー ビ ス が 開 始 で き な か っ た 場 合 は 2 で あ る 。 サ ー ビ ス の シ ャ ッ ト ダ ウ ン ス ク リ プ ト は 、 (正 常 な 場 合 の ) 0 と (失 敗 の 場 合 の ) 1 し か 返 さ な い 。 サ ー ビ ス が 提 供 で き た 場 合 、 provide の 終 了 コ ー ド は 0 で あ る 。 提 供 で き な か っ た 場 合 は 1 で あ る 。 親 プ ロ セ ス が init の 子 で な い 場 合 は 2 で あ る 。 こ の プ ロ グ ラ ム は 、 そ の サ ー ビ ス を 初 期 化 す る 他 の サ ー ビ ス 提 供 プ ロ グ ラ ム を ブ ロ ッ ク し て 待 た せ る 。

シ グ ナ ル

initctl(8)simpleinit(8) と 通 信 す る た め に SIGUSR1, SIGUSR2, SIGPOLL を 使 う 。 こ れ ら の シ グ ナ ル を need(8) に 送 っ て は な ら な い 。

フ ァ イ ル

/dev/initctl

simpleinit(8) に よ っ て 作 成 さ れ る 制 御 FIFO で 、 initctl(8) が コ マ ン ド を 書 き 込 む 。

関 連 項 目

simpleinit(8), init(8)
need(8) を 使 っ た 新 し い ブ ー ト ス ク リ プ ト シ ス テ ム に つ い て の も っ と 全 面 的 な 議 論 は 、 http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/ で 閲 覧 で き る 。

著 者

Richard Gooch (rgooch [AT] atnf.au)

入 手 先

Util-Linux パ ッ ケ ー ジ は ftp://ftp.??.kernel.org/pub/linux/utils/util-linux/ か ら 入 手 可 能 で あ る 。