Linux - tempat-tempat alternatif untuk menyimpan file pid, bukan / var / run

21

Seperti yang tertulis dalam judul, di mana saya harus membiarkan skrip init menulis file pid? apakah ada jalur standar yang harus saya pilih daripada / var / run?

Bisakah / tmp menjadi tempat yang baik untuk menyimpannya atau ada kekurangannya?

Murko
sumber
6
Apa yang salah dengan / var / run?
Lengkung
Pertanyaan Stack Overflow ini relevan: stackoverflow.com/q/5173636/1071869
Renan
satu-satunya hal yang salah dengan / var / run adalah bahwa saya tidak memiliki akses tulis dengan pengguna saya untuk itu ..
Murko
2
@Murko maka Anda harus menyimpan file pid di direktori home pengguna.
Renan

Jawaban:

22

Singkatnya : Anda dapat menyimpannya di mana saja (katakanlah, /tmpatau /var/tmp), tetapi /var/runmerupakan standar yang disukai.

/var/runadalah standar hirarki sistem file :

Direktori ini berisi data informasi sistem yang menggambarkan sistem sejak sistem di-boot. File di bawah direktori ini harus dihapus (dihapus atau dipotong seperlunya) di awal proses boot. Program mungkin memiliki subdirektori dari / var / run; ini dianjurkan untuk program yang menggunakan lebih dari satu file run-time. [catatan kaki 37]

Dan fitur yang diinginkan adalah sebagian besar distro membersihkannya secara otomatis (tidak seperti /tmpyang tidak dibersihkan saat boot di beberapa distro) - ini menghindari file pid basi:

Lokasi normal untuk pidfiles adalah / var / run. Sebagian besar unices akan membersihkan direktori ini saat boot; di bawah Ubuntu ini dicapai dengan / var / menjalankan sistem file dalam memori (tmpfs).

Itu pilihan Anda di mana menyimpannya, tapi saya akan pergi dengan standar.

Jika Anda tidak memiliki akses ke /var/run, Anda harus menyimpan file pid di direktori home pengguna, misalnya ~/.my_app.pid.

Renan
sumber
9

Jika akses tulis non-root ke /var/runyang Anda butuhkan, maka perhatikan bahwa ada subdirektori di /var/run/useruntuk pengguna individu. Anda hanya perlu mendapatkan UID dari pengguna saat ini:

/var/run/user/[$uid]

dwk
sumber