Linux - pid dosyasını / var / run yerine saklayabileceğiniz alternatif yerler


21

Başlıkta yazıldığı gibi, init betiğinin pid dosyasını yazmasına izin vermeliyim? / var / run yerine seçmem gereken standart yollar var mı?

/ Tmp depolanacak yer olabilir mi, yoksa sakıncaları var mı?


6
/ Var / run ile ilgili yanlış olan ne?
12:27

Bu Yığın Taşması sorusuyla ilgilidir: stackoverflow.com/q/5173636/1071869
Renan

/ var / run ile tek yanlış şey benim kullanıcı ile yazma erişimim yok ..
Murko

2
@Murko o zaman pid dosyasını kullanıcının ana dizininde tutmalısınız.
Renan,

Yanıtlar:


22

Kısacası : herhangi bir yerde (örneğin /tmpveya /var/tmp) saklayabilirsiniz , ancak /var/runtercih edilen standarttır.

/var/runolduğunu Dosya Sistemi Hiyerarşi Standardı :

Bu dizin, başlatıldığından beri sistemi tanımlayan sistem bilgisi verilerini içerir. Bu dizindeki dosyalar önyükleme işleminin başında temizlenmeli (uygun şekilde kaldırılmalı veya kesilmelidir). Programlar / var / run alt dizinine sahip olabilir; bu, birden fazla çalışma zamanı dosyası kullanan programlar için teşvik edilir. [dipnot 37]

Arzu edilen bir özellik, çoğu dağıtımın otomatik olarak temizlemesidir ( /tmpbazı dağıtımlarda önyüklemede temizlenmemiş olanların aksine ) - bu, bayat olmayan dosyalardan kaçınılmasıdır:

Pidfiles için normal konum / var / run'dır. Çoğu birim bu dizini açılışta temizler; Ubuntu altında bu, / var / bir bellek içi dosya sistemi (tmpfs) tarafından gerçekleştirilir.

Nerede saklayacağınız sizin seçiminiz, ama standartlara uygun.

Erişim hakkınız yoksa /var/run, pid dosyasını kullanıcının ana dizininde, örn ~/.my_app.pid.


9

/var/runİhtiyacınız olan root olmayan yazma erişimi ise , /var/run/userbireysel kullanıcılar için alt dizinler olduğunu unutmayın . Sadece geçerli kullanıcının UID'sini almanız gerekir:

/var/run/user/[$uid]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.