起動時にルートプロセスを開始しますか?

起動時にルートプロセスを開始しますか?

Linuxのインストールが始まると、rootとしてバックグラウンドプロセスを開始したいと思います。ディレクトリまたは構成ファイルに追加できますか?

答え1

デフォルトでは2つのオプションがあります。

  1. 時間仕様のcronあるジョブの使用(詳細はマニュアルページを参照)@rebootcrontab(1)

  2. init システムによって開始されます。 BSD / SysV初期化スタイルの場合、これは目的の実行レベルで実行するスクリプトをどこかに追加することを意味します。 systemdの場合、これには単位ファイルを作成し、目的の宛先にそれを要求することが含まれます。

最初のソリューションは、1つまたは2つのシステムのローカルタスクに適しています(設定タスクに近いため)。 2番目のソリューションは、より多くのシステムで実行できるサービス/デーモンなどの操作に適しています。メンテナンスが簡単になりました。

答え2

起動時にrootとしてプロセスを実行する最も簡単な方法は/etc/rc.local。ファイルを編集し、次の行を追加します。

/path/to/my/daemon &

しかし、これはデーモンを起動する良い方法ではありません。これを制御する便利な方法はありません(実行中かどうかを確認、停止、再開など)。

デーモンプロセスを制御するためのいくつかのフレームワークがあります。これらは初期化システム(Sysvinit、Upstart、Systemd)とそれぞれ独自の方法で密接に接続されています。システムにインストールされているものを確認してください(UNIXのバリエーションによって異なり、Linuxの場合はデプロイと管理者の選択によって異なります)。

関連情報