ユーザーとして実行されるデーモンの pid ファイルを保存するのに適した場所はありますか? /var/run は標準的な場所ですが、これはユーザーデーモン用であるため、書き込み権限はありません。おそらく、私のデーモンは .profile または .bashrc などから開始されます。/tmp に保存するだけではダメですか?
3 に答える
ユーザーに対して実行されている場合は、ユーザー固有のストレージの種類を見てみましょう。
うーん。
それでおしまい!ホーム ディレクトリ。私はそれが最終的に私に来ることを知っていました:-)
軽いジャブでごめんなさい。真剣に、私は PID を$HOME/.daemon.pid
orに隠しておき~/.daemon.pid
ます (ファイルの名前はもちろんあなた次第です)。
もちろん、これは、1 人のユーザーに対して 1 つのデーモンのみを実行することを前提としています。そうでない場合は、もう少しトリッキーになる必要があります。
また、ユーザーがホーム ディレクトリにある不明なファイルをうっかり削除してしまうのではないかという不安を和らげるために、.
文字で開始して「非表示」にします。
ほとんどの経験のないユーザーはこれらを見ることさえしないでください。
XDG Basedir 仕様では、これらを格納する場所が定義されています。
変数$XDG_RUNTIME_DIR
はその場所を定義しますが、デフォルトはありません。
最も一般的なフォールバック (変数が設定されていない場合) は/tmp/service-$USER.id
.
これにより、すべての実行時データを保持しながら、整頓されたホームディレクトリを維持できます。
ユーザーのホーム ディレクトリ内のサブディレクトリに移動することをお勧めします。
~/.programname/.pid
他のユーザー構成データがある場合は、ホーム ディレクトリが乱雑にならないように、それもここに保存できます。