web-dev-qa-db-ja.com

init.d起動スクリプトを作成する方法

起動時に非常に簡単なコマンドを実行したいだけです。どうやってやるの? Googleで検索したところ、非常に複雑な例がありますが、必要なのは起動時にこのスクリプトを実行するだけです。どうやってやるの?

脚本

./init.d/opscenter-agent start

8
sed

これをsystemスタートアップとして(コンピューターにログインするときではなく)起動する場合は、実行するコマンドを/etc/rc.local

[Ubuntu]起動時およびシャットダウン時にスクリプトを実行する を参照してください。

8
Li-aung Yip

スクリプトをrootで実行する必要がない場合は、次を実行できます。

1)「スタートアップアプリケーションの設定」を開きます(Alt + F2 gnome-session-propertiesを貼り付けてヒット Enter)、

2)[追加]を押して、スクリプトを選択します。

enter image description here

enter image description here


グラフィカル環境を使用していない場合、このファイルのexit 0行の直前にコマンドを配置できます:/etc/rc.local。 (編集するには、ターミナルSudo nano /etc/rc.localに貼り付けます。

3
desgua

/etc/rc.localアプローチは「起動時に非常に単純なコマンドを実行します」が、init.dスクリプトアプローチではなく、さまざまな点で劣っています。 (目的によっては、問題ではないかもしれません)。

Init.dスクリプトとは異なり、rc.localコマンドは、プロセスを開始および停止するための標準インターフェイスを提供しません。また、起動プロセスで実行されるタイミングに影響を与える能力をあまり提供しません。 /etc/init.d/rc.localスクリプトで、これが他のすべての後に実行されることがわかります(Required-Start: $all)。

Init.dスクリプトが本当に必要なものである場合は、通常、既存のスクリプトをつかんでコピーして編集するだけで正常に機能しますが、既存のスクリプトの中には必要以上に複雑なものもあります。それがほとんどのinit.dスクリプトの起動方法であるため、ubuntuはこの目的のために/etc/init.d/skeletonを提供します。

また一見の価値:

  • /etc/init.d/motdは、起動時に何かを実行する最小限の例ですが、Required-Startパラメーター設定が発生するはずです。
  • /etc/init.d/cronは、デーモンプロセスの単純な開始点です(おそらく必要ないparse_environment関数を指定するか、使用してください)。
1
mc0e