Provided by: dpkg_1.17.5ubuntu5.8_amd64
名前
start-stop-daemon - システムデーモンプログラムの起動、停止
書式
start-stop-daemon [option...] command
説明
start-stop-daemon はシステムレベルのプロセスの生成や停止を制御するために使用される。また、 適切なオプションを指定することで、実行中のプロセスを確認することができる。 注記: --pidfile を指定しない場合、start-stop-daemon は killall(1) と類似の動作を行 う。start-stop-daemon は、(指定されていれば) プロセス名、uid、および gid にマッチするプロ セスをプロセステーブルから検索する。--start が指定されている場合にマッチするプロセスがあれ ば、デーモンは起動されない。--stop が指定されていれば、マッチするプロセスすべてに TERM シ グナル (もしくは --signal や --retry により指定されたシグナル) が送られる。そのた め、--stop を指定されても動作しつづける必要があるような、長寿命の子プロセスを持つデーモン には、 pidfile を指定しなければならない。
コマンド
-S, --start [--] arguments 指定されたプロセスの存在を確認する。該当するプロセスが存在する場合、 start-stop-daemon は何もせず、エラーステータス 1 を返して終了する (--oknodo が指定 された場合は、0 を返す)。該当するプロセスが存在しない場合、 --exec により、もしくは --startas が指定された場合はこれにより指定される実行ファイルを起動する。コマンドラ イン上で -- 以降に与えられた任意の引数は起動されるプログラムにそのまま引き渡され る。 -K, --stop 指定されたプロセスの存在を確認する。該当するプロセスが存在する場合、 start-stop-daemon は --signal により指定されたシグナルをそのプロセスに送り、エラー ステータス 0 を返して終了する。該当するプロセスが存在しない場合、 start-stop-daemon はエラーステータス 1 を返して終了する( --oknodo が指定された場合は 0 を返 す)。--retry を指定した場合、start-stop-daemon はそのプロセスが終了したことを確認す る。 -T, --status 指定されたプロセスの存在を確認し、LSB の Init Script Action に基づいた終了ステータ スを返却する。 -H, --help 使用方法に関する情報を表示し、終了する。 -V, --version バージョンと著作権に関する情報を表示し、終了する。
オプション
Matching options -p, --pidfile pid-file プロセスが pid-file を作成したかどうかをチェックする。このオプションを単体で使用し た場合、以前のプロセスが pid-file を削除できないまま終了してしまった際に、意図しな いプロセスが動作中であると判断される場合があるため留意すること。 -x, --exec executable プロセスが指定した executable のインスタンスであるかどうかをチェックす る。executable 引数は絶対パス名であること。インタプリタ型のスクリプトに対して指定し た場合、executable はインタプリタ自体を指してしまうため、期待する動作とならない点に 留意すること。chroot 内で動作しているプロセスもマッチしてしまうため、これ以外の制約 との組み合わせが必要となる点に注意すること。 -n, --name process-name プロセスが process-name であるかどうかをチェックする。process-name は通常プロセスの ファイル名であるが、プロセス自身によって変更することも可能である。大半のシステムに おいて、この情報はカーネル内の process comm name から取得されるため、比較的短い名称 である必要がある (15 文字を超える名称は移植性がないと判断される)点に留意すること。 -u, --user username|uid プロセスが username もしくは uid で指定されたユーザの所有となっているかをチェックす る。このオプションを単体で用いた場合、指定されたユーザの所有するすべてのプロセスが 合致するかをチェックする点に留意すること。 Generic options -g, --group group|gid プロセスを開始する時点で、group や gid を変更する。 -s, --signal signal --stop と同時に指定することで、プロセスを停止するために送信するシグナルを指定する (デフォルトは TERM)。 -R, --retry timeout|schedule --stop と同時に指定することで、start-stop-daemon にプロセスの終了を確認させる。これ により、マッチした実行中のプロセスが全て終了するまで繰り返し確認が行われる。プロセ スが終了しなければ、スケジュールにより指定されたアクションが実行される。 schedule のかわりに timeout が指定されている場合、 signal/timeout/KILL/timeout スケ ジュールが使われる。ここで signal は --signal で指定されるシグナルである。 スケジュール schedule は、スラッシュ (/) で区切られた少なくとも 2 つの要素からなる リストである。それぞれの要素は、-signal-number もしくは [-]signal-name の場合は送る べきシグナル、 timeout の場合はプロセスが終了するのを待つ秒数、 forever の場合は必 要な限り、残りの schedule を繰り返し適用することを意味する。 schedule が終了し、forever が指定されていない場合、 start-stop-daemon はエラー状態 2 で終了する。schedule が指定されている場合、--signal で指定したシグナルは無視され る。 -a, --startas pathname --start と同時に指定することで、pathname により指定されるプロセスを起動する。このオ プションが指定されない場合、 --exec に与えられる引数がデフォルトになる。 -t, --test 実行しようとする処理内容を出力し,それに伴い適切な返り値が設定されるが、実際の処理 は行わない。 -o, --oknodo 処理が何も行われない (又は、行なわれないと想定される) 場合、終了ステータス 1 のかわ りに 0 を返す。 -q, --quiet 情報メッセージを出力しない。エラーメッセージのみ出力する。 -c, --chuid username|uid[:group|gid] プロセスを起動する前に指定されたユーザ名やユーザ ID に変更する。 : に続いてグループ 名またはグループ ID を与えることによりグループも指定できる。これは `chown' コマンド と同じ書式 (user:group) である。ユーザ名のみを指定した場合、そのユーザのプライマリ グループの GID が用いられる。このオプション ( : 書式) を使用した時には、 --group オ プションが指定されていない場合であっても、指定された場合と同様にプライマリグループ と補助グループが設定されることを認識しておく必要がある。--group オプションは、(ある プロセスについて nobody のような汎用のユーザをグループに追加するといった) ユーザが 通常メンバとなっていないグループを指定する場合にのみ使用する。 -r, --chroot root プロセスを起動する前に、root に対して chdir と chroot を実行する。pidfile は chroot 後に、書き出されることに注意すること。 -d, --chdir path Chdir to path before starting the process. This is done after the chroot if the -r|--chroot option is set. When not specified, start-stop-daemon will chdir to the root directory before starting the process. -b, --background 通常、自身をデタッチできないプログラムで使用される。このオプションを指定した場合、 start-stop-daemon は自身を対象プロセスの起動前に fork し、以後バックグラウンドで実 行させる。 警告: start-stop-daemon は いかなる理由によってプロセスの起動に失敗した 場合であっても、その終了ステータスをチェックできなくなる。このオプションは最終手段 であり、自身の fork に意味のないプログラムや、fork を自身で行うためのコード追加が現 実的でないプログラム以外での使用を意図していない。 -C, --no-close デーモンにバックグラウンドでの動作を強制する際に、ファイルディスクリプタのクローズ を一切行わない。プロセスの出力を参照する、ファイルディスクリプタの出力をプロセスの 出力をロギングするためにリダイレクトするといったデバッグ目的で使用され る。--background を指定した際にのみ有効である。 -N, --nicelevel int プロセスを起動する前にプロセスのプライオリティを変更する。 -P, --procsched policy:priority プロセスを起動する前に、スケジューラのポリシーと優先順位を変更する。優先順位の指定 は任意であり、: に続いて値を設定することで指定する。デフォルトの priority は 0 であ る。現在サポートされているポリシーの値は other, fifo, rr である。 -I, --iosched class:priority プロセスを起動する前に、IO スケジューラのクラスと優先順位を変更する。優先順位の指定 は任意であり、: に続いて値を設定することで指定する。デフォルトの priority は 4 であ るが、class が idle の場合の priority は常に 7 となる。現在サポートされている class の値は idle, best-effort, real-time である。 -k, --umask mask プロセスを起動する前にプロセスの umask を設定する。 -m, --make-pidfile 自分自身で PID ファイルを作成しないプログラムを起動する際に使用する。このオプション により、プロセスの起動直前に start-stop-daemon は --pidfile で参照されるファイルを 作成し、pid の値を格納する。このファイルはプログラムの停止時に削除されないことに注 意。注記: このオプションは動作しない場合がある。特に、プログラムの実行時にそのメイ ンのプロセスから fork するようなプログラムでは正しく動作しない。このため、通常は --background オプションと併用する場合にのみ有用である。 -v, --verbose 詳細な情報を出力する。
終了ステータス
0 指定されたアクションが実行された。--oknodo が指定された場合、何も行われなかった場合 も意味する。これは、--start が指定されたがマッチするプロセスが実行されていた場 合、--stop が指定されたがマッチするプロセスが存在しなかった場合に発生しうる。 1 --oknodo が指定されなかった場合に、何も行われなかった。 2 --stop および --retry が指定されたが、規定時間の最後まで到達したにも関わらず、プロ セスがまだ実行されている。 3 その他のエラー。 --status コマンドを実行した際には、以下の戻り値が返される: 0 プログラムは実行中である。 1 プログラムは実行中でないが、pid ファイルが存在している。 3 プログラムは実行中でない。 4 プログラムの状況を確認できない。
例
既に実行中でない場合に、food デーモンを (プロセス名 food、実行ユーザ food 、PID 情報を food.pid に格納で) 起動する。 start-stop-daemon --start --oknodo --user food --name food \ --pidfile /run/food.pid --startas /usr/sbin/food \ --chuid food -- --daemon food に SIGTERM を送信し、停止するまで 5 秒間待機する: start-stop-daemon --stop --oknodo --user food --name food \ --pidfile /run/food.pid --retry 5 food 停止のためのカスタムスケジュールのデモ: start-stop-daemon --stop --oknodo --user food --name food \ --pidfile /run/food.pid --retry=TERM/30/KILL/5
翻訳者
高橋 基信 <monyo@monyo.com>. 喜瀬 浩 <kise@fuyuneko.jp>. 関戸 幸一 <sekido@mbox.kyoto- inet.or.jp>. 鍋谷 栄展 <nabe@debian.or.jp>. 倉澤 望 <nabetaro@debian.or.jp>. 石川 睦 <ishikawa@linux.or.jp>. 鵜飼 文敏 <ukai@debian.or.jp>. 中野 武雄 <nakano@apm.seikei.ac.jp>.
翻訳校正
Debian JP Documentation ML <debian-doc@debian.or.jp>.