起動時に非常に簡単なコマンドを実行したいだけです。どうやってやるの? Googleで検索したところ、非常に複雑な例がありますが、必要なのは起動時にこのスクリプトを実行するだけです。どうやってやるの?
脚本
./init.d/opscenter-agent start
これをsystemスタートアップとして(コンピューターにログインするときではなく)起動する場合は、実行するコマンドを/etc/rc.local
。
[Ubuntu]起動時およびシャットダウン時にスクリプトを実行する を参照してください。
スクリプトをrootで実行する必要がない場合は、次を実行できます。
1)「スタートアップアプリケーションの設定」を開きます(Alt + F2 gnome-session-properties
を貼り付けてヒット Enter)、
2)[追加]を押して、スクリプトを選択します。
グラフィカル環境を使用していない場合、このファイルのexit 0
行の直前にコマンドを配置できます:/etc/rc.local
。 (編集するには、ターミナルSudo nano /etc/rc.local
に貼り付けます。
/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
関数を指定するか、使用してください)。