rcスクリプトの作成
/etc/init.d/skeltonに雛形がある
- start
- デーモンを起動する。.dディレクトリの中でSスクリプト名としてリンクしている場合は、start引数付きで実行される
- stop
- デーモンを停止する。.dディレクトリの中でKスクリプト名としてリンクしている場合は、stop引数付きで実行される
- restart
- デーモンを停止し、再び起動する
- reload
- 設定ファイルを変更した時などにこの引数をつけると、再読み込みをする
- force-reload
- 設定ファイルを強制的に再読み込みされる(基本的にreload)と同じ
#!/bin/sh
#コマンド途中で0以外が返ってくるものがあったら、すぐに終了 set -e PATH-=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin #実行したときに出力されるメッセージ DESC="some daemon" #このファイル名と同じにする NAME=daemon #実行したいコマンドを指定 DAEMON=/usr/sbin/$NAME #プロセスIDの格納ファイルを指定 PIDFILR=/var/run$NAME.pid SCRIPTNAME=/etc/init.d/$NAME test -x $DAEMON || exit 0 以下略
start-stop-daemonコマンドについて
これはDebian独自の強力なプロセス管理プログラムで書式は以下のとおり
start-stop-daemon --start [--quit] [--pidfile pidファイル] [--background] [--make-pidfile] --exec デーモンプログラム名
start-stop-daemon --start [--quit] [--pidfile pidファイル] [--background] [--make-pidfile] --exec デーモンプログラム名
start-stop-daemon --stop [--quit] [--pidfile pidファイル] [--name プロセス名] [-signal シグナル] --exec デーモンプログラム名
- --quit
- エラーが発生したときのみエラーを表示する
- --pidfile
- そのデーモンのプロセスID情報を記したファイルを指定する
- --exec
- 実行するファイルのパス名
- --background
- デーモン向けに設計されていないファイルを、バックグラウンドで実行し、プロセスIDを--make-pidfileで指定したファイルに書き込む
- --name
- デーモンがプロセス上で表示される時の名前を指定
- --signal
- 停止シグナルを指定。デフォルトは15
参考
apacheなんかは/usr/local/apache2/bin/apachectlをhttpdとかにリネームして
/etc/init.d/に置くだけでよい
/etc/init.d/に置くだけでよい