ヘッドレスシステムで起動時に実行されるデーモンに必要な変数を入れるのは悪い考えですか/etc/profile.d/
?私が理解したのは、profile.d
誰かが対話型シェルを介してシステムにログインするまで実行されません。それでは、私のデーモンは最終的にシステム変数を保存し、誰かがシステムprofile.d
にログインするまでこれを設定しないでください。それとも、rc.local
無人システムで実行された後にこれらの変数を設定しますか? (システムはbashを実行するRHEL 6.5です。)
ベストアンサー1
うまくいかなければ、それは悪い考えです。profile.d
誰かがログインしていない場合、実行されないことに対するあなたの懸念は妥当だと思います。
initスクリプトを/etc/rc.d/init.d(Red Hatの場合は正しいディレクトリだと思います。Ubuntuでは/etc/init.dです)に入れてデーモンを起動します。このスクリプトでは、目的の変数を宣言/定義でき、デーモンバイナリを起動するときにその変数が範囲内になければなりません。
リンクここプロセスが説明され、rc.local
この方法が優れている理由が正確に説明されています。
rc.local
実行がLinux INITに返されると、そのスクリプトに設定された変数は定義されなくなり、他の回答で述べられたアプローチは機能しません。したがって、これは誰かがログインする前であるため、暗黙的にprofile.dが実行される前です。