GNU/Linux >> Linux の 問題 >  >> Linux

起動後にコマンドを実行するにはどうすればよいですか?

ディストリビューションに依存します。

Debian 派生ディストリビューションを使用している場合、適切な場所が少なくとも 2 つあります。/etc/rc.local と crontab です。 root として crontab を呼び出すことができます。

   crontab -e

次に、この行を挿入します

   @reboot /home/my_name/bin/my_command

どこで my_command 実行可能ファイル (chmod 755 my_command )。

または、このような行を配置することもできます

   /home/my_name/bin/my_command

/etc/rc.local にあり、これは最後に実行されます。いずれにせよ、あなたの環境ではなく、ルート環境を使用していることを忘れないでください。この理由からも、絶対パスを使用することをお勧めします。

systemd を使用している場合 ディストリビューション (Arch Linux、Fedora 19、...) 最初のオプション (crontab) は引き続き有効ですが、2 番目のオプション (/etc/rc.local) はもはや存在しません。この場合、systemctl で実行されるサービスを開始する方法を学ぶ必要があります。 、しかし、これはあなたの単純な質問で交渉した以上のものかもしれません.


システムが cron のバージョンを実行している場合 それをサポートする (具体的には Vixie cron)、 @reboot を使用できます cron ジョブで。

これは、サポートする 8 つの特殊文字列の 1 つです。

crontab(5) の引用 man ページ (私の Ubuntu 12.04 システムから):

<ブロック引用>

最初の 5 つのフィールドの代わりに、8 つの特殊な文字列のいずれかが表示される場合があります:

string         meaning
------         -------
@reboot        Run once, at startup.
@yearly        Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily         Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly        Run once an hour, "0 * * * *".
<ブロック引用>

@rebootまでの起動に注意してください 懸念されるのは、cron(8) デーモンの起動。特に、一部のシステム デーモンまたはその他の機能が起動する前である可能性があります。これは、マシンの起動順序によるものです。

これは唯一ではありません 起動時に何かを実行する方法ですが、これは別の方法です。


Linux のほぼすべてのバリアント (かなり昔にさかのぼります) には、起動時に実行されるファイル /etc/rc.local があります。コマンドを追加するだけです。

とはいえ、それを行う必要さえありません。 「正しい」方法は、行 kernel.sysrq =1 を /etc/sysctl.conf に変更/追加することです


Linux
  1. システム管理者(root)としてコマンドを実行する方法は?

  2. Perl ワンライナー コマンド ライン スクリプトを正しく実行するにはどうすればよいですか?

  3. コマンドラインでスクリプトから関数を実行するにはどうすればよいですか?

  1. ls コマンドからディレクトリを除外するにはどうすればよいですか

  2. 同じ引数で別のコマンドを実行するにはどうすればよいですか?

  3. 既に実行中の既存のコマンドが終了した後にコマンドを実行する方法は?

  1. 変数に格納されているコマンドを実行するにはどうすればよいですか?

  2. 検索コマンドの後にMvコマンドを統合する方法は?

  3. 起動時にプログラムを実行するには?