pidfile は /var/run に置かなければなりませんか?
質問
技術的な面とスタイル的な面、両方の文脈で質問しています。
私のアプリケーション/デーモンは、pidファイルを
/opt/my_app/run/
?
するのは非常にまずいのでしょうか?
私のニーズはこうです: 私のデーモンは特定のユーザーの下で実行され、実装者は新しいディレクトリを mkdir して
/var/run
に新しいディレクトリを mkdir し、chown し、chgrp して、私のデーモンを実行させる必要があります。 pid ファイルを (デーモンに対して) ローカルに保つことはより簡単であるように思われます。
どのように解決するのですか?
アプリケーションのインストールディレクトリの下に pid ファイルを置くことはしません。
/opt/my_app/whatever
. このディレクトリは読み取り専用でマウントされ、マシン間で共有され、そこにあるいかなる変更も侵入の可能性があるものとして扱うデーモンによって監視される可能性があります...。
pidfile の通常のロケーションは
/var/run
. ほとんどのユニットが起動時にこのディレクトリを掃除します。Ubuntuでは、これは
/var/run
インメモリファイルシステム(tmpfs)によって達成されます。
root で動作しているスクリプトからデーモンを起動する場合、 サブディレクトリとして
/var/run/gmooredaemon
を作成し、それをデーモン実行ユーザーに chown してから
su
にログインしてデーモンを起動します。
多くの最新の Linux システムでは、root として動作していないスクリプトやランチャーからデーモンを起動する場合、pid ファイルを
/run/user/$UID
に置くことができ、これは伝統的な
/var/run
. ランチャーのルート部分、またはルートとして実行されるブートスクリプトは、ディレクトリを作成する必要があることに注意してください(人間のユーザーの場合、ディレクトリはユーザーがログインするときに作成されます)。
そうでなければ、以下の場所を選んでください
/tmp
または
/var/tmp
しかし、これは、pid ファイルの名前が、世界的に書き込み可能なディレクトリにある場合、一意に決定することができないので、さらなる複雑さをもたらします。
いずれにせよ、配布者または管理者が pid ファイルの場所を簡単に変更できるようにします (コマンドラインオプション、およびおそらくコンパイル時オプション)。
関連
-
Linuxにおけるxinetdサービスの管理方法に関するケーススタディ
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] cronは内部でどのようにジョブをスケジューリングしているのですか?
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] Linuxでファイルをシンボリックリンクするには?[クローズド]
-
[解決済み] 複数のPDFファイルを1つのPDFに結合/変換する【終了】。
-
[解決済み] UnixのコンソールやMacのターミナルでシェルスクリプトを実行するには?
-
[解決済み] error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' -- Missing /var/run/mysqld/mysqld.sock
-
[解決済み] node.js: モジュール 'request' が見つからない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
中国版「浮世」を含むUbuntu 20.04.2リリース
-
Kali Linuxのデスクトップの外観スタイルを変更するには? KALIの外観の最適化のヒント
-
ディープインシステムの画面解像度を設定する方法は?ディープインシステムの解像度を設定する方法
-
deepin20のデスクトップアイコンのスタイルを変更する方法は?deepinのアイコンテーマを変更するためのヒント
-
ubuntu 12.04 eclipse でプログラム g++ がパスに見つからなかったと報告される。
-
sudo が sudo として表示される: setuid root である必要がある
-
[解決済み] ビーコン待ちでハングアップしたリーバー
-
[解決済み] mkdirのオプションが明確でない
-
[解決済み] 複数のPDFファイルを1つのPDFに結合/変換する【終了】。