Ulimits'in start-stop-daemon ile çalışmasını sağlayın


20

init.dBir uygulamayı kullanarak başlayan bir komut dosyası var start-stop-daemon --chuid SOME_SYSTEM_USER. Yani, uygulama kök değil, farklı bir kullanıcı altında çalışır.

Sorun, uygulamanın belirttiğim özel limit ayarlarına (yani ulimit -n 64000) ihtiyacı var limits.conf. Doğrudan kabuktan çalıştırdığımda bu oldukça iyi çalışıyor: su - SOME_SYSTEM_USER+ app kabuktan başlat.

Aracılığıyla çalıştırdığınızda Fakat start-stop-daemon --chuidgelen /etc/init.d, bu sınırlar dikkate alınmaz. Sonra uygulama açıkçası, çalışma başarısız olur.

Ayarları start-stop-daemononurlandırmaya nasıl zorlayabilirim ulimit?


Debian Squeeze, 2.6.32-5-686 # 1 SMP Cmt 5 Mayıs 01:33:08 UTC 2012 i686 GNU / Linux

Yanıtlar:


23

Şu anda, yapamazsın. limits.conf(5)için yapılan yapılandırmaya pam_limits(8)göre PAM yığını tarafından etkinleştirilen yapılandırmadır /etc/pam.d. Ancak, start-stop-daemon(8)bir init.d betiğinden başlatılan PAM yığından geçmediğinden, bu tür ayarlar hiçbir zaman uygulanmaz.

# 302079 numaralı Debian hatası , ayar limitlerini etkinleştirmek için bir yama içeriyor start-stop-daemon(8), ancak hata 2005'ten beri açık ve yama henüz birleştirilmedi.

İdeal olmasa da, AFAIK bunu şimdi başarmanın önerilen yolu ulimitinit.d betiğine bir çağrı eklemektir .


ulimitAyarı start-stop-daemonkomuttan hemen önce eklemeniz yeterli . (yani ulimit -n 64000) ... benim gibi cahil için.
Ryan Schumacher

Eğer OP'nin aksine, hangi cehennemin çökmekte olduğunu bilmiyorsanız, Debian Wheezy'un ard arda gelen armağanlar üzerine iyi sonuçlar aldım: echo "ulimit -c unlimited" | sudo tee /lib/lsb/init-functions.d/core-limit
Martin Dorey

Daha değerli bazı arka plan bilgilerini burada bulabilirsiniz: serverfault.com/a/642082/22394
16:40

7

Ayrıca, ups betiğinde 'limit' komutunu da kullanabilirsiniz.

/Etc/init/foo.conf dosyasına, satırı ekleyin:

limit nofile 64000 64000

İlk 64000 yumuşak sınır, ikincisi ise zor sınırdır.

Daha fazla bilgiyi burada bulabilirsiniz: http://upstart.ubuntu.com/cookbook/

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.