47000
・[/var/run
直下に作成したディレクトリが削除されないようにする](http://server.etutsplus.com/centos-7-tmpfiles-d-
deleted-outdate-files/)というページを見て疑問に思ったのですが、CentOS7では、pid
専用のディレクトリはどこに配置すべきものですか？

・案1.任意のディレクトリ  
・案2./var/run 直下  
・案3.その他

・削除されない設定を書いてまで、pid 専用のディレクトリを/var/run 直下に配置した方が良い理由はありますか？？ 単なる慣習？？

* * *

**環境**  
・CentOS7
CC BY-SA 4.0
2018-07-26T12:58:52.223
46999
2018-07-26T14:28:21.033
7886
question
centos
pid 専用のディレクトリについて
> CentOS7では、pid 専用のディレクトリはどこに配置すべきものですか？

Linuxの標準に従うのであれば、`/var/run`(または `/run`)に配置したほうが良いと思います。

> 削除されない設定を書いてまで、pid 専用のディレクトリを/var/run 直下に配置した方が良い理由はありますか？？ 単なる慣習？？

[Filesystem Hierarchy
Standard](https://ja.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)というUnix系OSのディレクトリ階層標準で`/var/run`は`最近のブート以降の走行中(runing)システムに関する情報`を格納すると規定されているためだと思います。(ただし、FHS3.0
では /var/run は /run に置き換えられるそうです。)
CC BY-SA 4.0
2018-07-26T13:23:29.577
47000
2018-07-26T13:23:29.577
46999
answer
「 **そのPIDを誰が参照するのか** 」によっても対応が異なると思います。

単に自分が作成したアプリケーションの二重起動を防ぐ程度なら、お行儀の良し悪しは置いておいて、自分で決めた任意のディレクトリ(例えば`/opt/AppName/var/run/`配下)でもいいでしょう。

他のサービスと依存関係があるような場合には、一般的に配布されているアプリケーションは`/var/run`配下にPIDが作成されていることを想定しているはずなので、なるべく標準に従うべきです。

`tmpfiles.d`の仕組みが必要になるのは`/var/run`の下に **サブディレクトリを作成した場合** です。  
まずは`/var/run/DAEMON.pid`のように **ディレクトリ直下** にPIDファイルを作成することを検討してください。
CC BY-SA 4.0
2018-07-26T14:28:21.033
47002
2018-07-26T14:28:21.033
3060
46999
answer