.\" Copyright (C) 2000-2001 Richard Gooch .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .\" .\" Richard Gooch may be reached by email at rgooch@atnf.csiro.au .\" The postal address is: .\" Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia. .\" .\" initctl.8 Richard Gooch 21-FEB-2001 .\" .\" Japanese Version Copyright (c) 2001 Yuichi SATO .\" all rights reserved. .\" Translated Mon Feb 26 19:13:14 JST 2001 .\" by Yuichi SATO .\" .TH INITCTL 8 "21 Feb 2001" "Util-Linux Package" .SH 名前 initctl \- simpleinit(8) を制御するためのユーティリティ .SH 書式 .nf \fBneed\fP [\fB-r\fP] \fBservice\fP .BR display-services \fBprovide service\fP .fi .SH 概略 \fBinitctl\fP プログラムは、システム起動スクリプトの 堅牢さ・拡張性・可読性を向上するためにデザインされている。 現在では、SysV 形式の起動スクリプトで使われている 複雑で脆い多くのシンボリックリンクによる方法を使うことなく、 モジュール化した起動スクリプトを書くことができる。 各スクリプトは、それを起動する前に何が必要かを \fBneed\fP(8) を使って簡単に宣言できる。 .SH need の説明 \fBneed\fP プログラムは、\fBsimpleinit\fP(8) に対して \fIservice\fP (通常は \fI/sbin/init.d\fP 内のスクリプト) を 開始するように指示し、 その service が使用可能になるまで待たせるためのユーティリティである。 service が既に使用可能な場合、再び起動されることはない。 \fB-r\fP オプションは、\fBsimpleinit\fP(8) に対して \fIservice\fP までのサービスを 「押し戻す (roll back)」(停止する) ように指示する (指定されたサービスは含まない)。 \fIservice\fP が指定されない場合、 全てのサービスを停止する。 よって、\fB-r\fP オプションにより、 システムを部分的または全体的に順序立ててシャットダウンすることができる。 実行するためには、未だに \fBshutdown\fP(8) プログラムが必要とされる。 .SH display-services の説明 \fBdisplay-services\fP として起動された場合、 現在使用可能なサービスのリストと失敗したサービスのリストを 標準出力に書き出す。 .SH provide の説明 \fBprovide\fP として起動された場合、 \fBsimpleinit\fP(8) に対して親プロセス (呼び出したプロセス) が \fIservice\fP という名前のサービスを提供するように指示する。 呼び出したプロセスが正常に (ステータス 0 で) 終了した場合、 サービスが使用可能であると考えられる。 \fIservice\fP のインスタンスは 1 つだけ起動されるので、 他にこのサービスを提供するプログラムはブロックされて失敗する。 \fBprovide\fP を使うことにより、 同じ (一般的な) サービスを提供できる複数のプログラムを持つことができる (例えば \fBsendmail\fP と \fBqmail\fP は共に \fBmta\fP サービスを提供する)。 ここで、実際にサービスを提供するのは 1 つだけである。 これは設定ファイルをチェックするサービス起動スクリプトで使うことができる。 .SH 終了コード サービスが正常に起動した場合、 \fBneed\fP からの終了コードは 0 である。 サービスが失敗した場合は 1 である。 サービスが使用不能の場合 (つまり、設定ファイルで不可にされている場合) は 2 である。 これらの終了コードは、サービス起動スクリプトからの終了コードを反映する。 サービスが正常に停止した場合、 \fBneed -r\fP からの終了コードは 0 である。 サービスが停止できなかった場合は 1 である。 サービスが開始できなかった場合は 2 である。 サービスのシャットダウンスクリプトは、 (正常な場合の) 0 と (失敗の場合の) 1 しか返さない。 サービスが提供できた場合、\fBprovide\fP の終了コードは 0 である。 提供できなかった場合は 1 である。 親プロセスが init の子でない場合は 2 である。 このプログラムは、そのサービスを初期化する 他のサービス提供プログラムをブロックして待たせる。 .SH シグナル \fBinitctl\fP(8) は \fBsimpleinit\fP(8) と通信するために \fBSIGUSR1\fP, \fBSIGUSR2\fP, \fBSIGPOLL\fP を使う。 これらのシグナルを \fBneed\fP(8) に送ってはならない。 .SH ファイル .PD 0 .TP 20 .BI /dev/initctl \fBsimpleinit\fP(8) によって作成される制御 FIFO で、 \fBinitctl\fP(8) がコマンドを書き込む。 .SH 関連項目 .BR simpleinit (8), .BR init (8) .PP \fBneed\fP(8) を使った 新しいブートスクリプトシステムについてのもっと全面的な議論は、 http://www.atnf.csiro.au/~rgooch/linux/boot-scripts/ で閲覧できる。 .SH 著者 Richard Gooch (rgooch@atnf.csiro.au) .SH 入手先 Util-Linux パッケージは ftp://ftp.??.kernel.org/pub/linux/utils/util-linux/ から入手可能である。