web-dev-qa-db-ja.com

Linuxスクリプトのstart-stop-daemonとは何ですか?

Start-stop-daemonとは何ですか?

実行する特定のプログラムを自動化しようとしています。システムが起動するたびに、プログラムが実行されます。そのために、/etc/init.d/場所。

43
Rajeev Das

これは、システムレベルのバックグラウンドプロセス(デーモン)の開始と停止を管理するプログラムです。起動するプロセスのパラメーター(作成/チェックするpidファイルなど)とコマンド引数を渡すことで使用します。

次に、次の2つのいずれかを実行します。

start-stop-daemon -S [other arguments] something

somethingがまだ実行されていない場合は、somethingを開始します。実行されていた場合は、何もしません。

start-stop-daemon -K [other arguments] something

somethingを停止します。 somethingが実行されていない場合は、何もしません。

manページ は、さまざまな引数に関する詳細情報を提供します。通常、テンプレートは/etc/init.d/で提供されます。このテンプレートには、バックグラウンドプロセスの実行を制御するinitプロセス用の他のコマンドがあります。


どういう意味ですか?

start-stop-daemon --start --background -m --oknodo --pidfile $ {PIDFILE} --exec $ {DAEMON}-$ {TARGETDIR}

  • --background =バックグラウンドプロセスとして起動
  • -m = PIDファイルを作成します。これは、プロセスが独自のPIDファイルを作成しないときに使用され、--backgroundとともに使用されます
  • --oknodo = 0ではなく、1を返す
  • --pidfile ${PIDFILE} = PIDファイルが作成されているかどうかを確認します
  • --exec =プロセスがこの実行可能ファイルのインスタンスであることを確認します(あなたの場合、DAEMON
58
Burhan Khalid

/etc/init.d/skeletonファイル (例:/etc/init.d/rajeevdaemonまたは別の適切な名前)、これは多くのコメントを含むシェルスクリプトであり、ニーズに合わせて編集します。次に、適切なシンボリックリンクを追加します/etc/rc2.d/S98rajeevdaemonおよび/etc/rc2.d/K98rajeevdaemonそれに。

runlevels の詳細をご覧ください。

そして、最近の(または将来の)Linuxディストリビューションはますます多くを使用しています systemd