Ubuntuサーバーで起動時にコマンドを実行したい。誰もこれを行う方法を知っていますか? /etc/rc.localはスーパーユーザーとして実行されますか?任意の助けをいただければ幸いです。ありがとう!
/etc/rc.localはルートとして実行されます。
Initプロセスのほとんどはルートとして実行されるか、その方法で開始されます。
これを行うことができる場所がいくつかあります。
/etc/init.d(および/etc/rc[runlevel].dへのリンクを作成する-通常2)は非常にうまく機能するため、そこに起動ビットとシャットダウンビットを指定できます。
それは一種の古い方法です(ただし、非常に簡単です)。新興企業で何かをすることもできます。 このページ をご覧ください(「ジョブの作成」セクションをご覧ください)。
大きな落とし穴-通常、パスは期待したものとは異なります。ですから、最初にスクリプトから "echo $ PATH>/init_path"の行に沿って何かを実行して、問題があるかどうかを確認することをお勧めします(/ init_pathをチェックして、このファイルを削除しても安全です)。スクリプトでパスを指定するのは簡単ですが、PATHで何かを必要とするスクリプトから何かを実行する場合は、それに応じてPATH変数を設定する価値があります。