質問: 起動/起動時にスクリプトを実行します。 init.d対cron @reboot 現在、システムの起動/起動時にスクリプトを実行するためのinit.dとcron @rebootの違いを理解しようとしています。@reboot(このメソッドは this forum でhs.chandraによって言及されました)の使用は、単にcrontab -eおよび@reboot /some_directory/to_your/script/your_script.txtの作成、次にyour_script.txtは、システムが再起動されるたびに実行されます。 @rebootの詳細な説明は ここ です。または、/etc/init.d/your_script.txtをスクリプトの2行目に埋め込むことにより、#!/bin/bash # /etc/init.d/your_script.txtchmod +x /etc/init.d/your_script.txtを実行すると、システムが起動するたびにyour_script.txtも実行されます。q1:2つの主な違いは何ですか? q2:どちらがより堅牢ですか? q3:2つのうちより良いものはありますか? q4:これは、起動中に実行するスクリプトを埋め込む正しい方法ですか?起動時に実行するbash .shファイルを組み込みます。
回答: 以下に私の回答を書いています。 q1:2つの主な違いは何ですか? 上記の他のユーザーが述べた違いとは別に、@ rebootがcrondデーモンに依存している点を強調したいと思います。 crondが開始する順序によって異なります。ほとんどの場合、crondは正常に起動しますが、起動に失敗することがあります(少なくとも、一部のプロジェクトでいくつかの障害が発生しています)。 initスクリプトを作成するとき、スクリプトで何か悪いことをすると失敗が発生します(例:サービスの後に開始されるサービスに依存している) q2:どちらがより堅牢ですか? 上記に基づいて、私はinitがより堅牢であると思います。しかし、最初の回答で「フランクリンピアト」が言及したように、別のポイントがあります。通常、デーモンにはinitスクリプトが必要であり、ポリシーに従う必要があります q3:2つのうちより良いものはありますか? 私はそうは思いません(rc.localは少し古く、非推奨です) q4:これは、起動中に実行するスクリプトを埋め込む正しい方法ですか? はい。通常、アプリケーション/パッケージの作成者はこの方法で行います。