Saya memiliki init.d
skrip yang memulai aplikasi menggunakan start-stop-daemon --chuid SOME_SYSTEM_USER
. Artinya, aplikasi berjalan di bawah pengguna yang berbeda, bukan root.
Masalahnya, aplikasi memerlukan pengaturan batas khusus (yaitu ulimit -n 64000
), yang saya atur limits.conf
. Ini berfungsi cukup baik ketika saya menjalankannya langsung dari shell: su - SOME_SYSTEM_USER
+ mulai aplikasi dari shell.
Tetapi ketika dijalankan melalui start-stop-daemon --chuid
dari /etc/init.d
, batas-batas ini diabaikan. Maka aplikasi gagal berfungsi, jelas.
Bagaimana saya memaksa start-stop-daemon
untuk menghormati ulimit
pengaturan?
Debian Squeeze, 2.6.32-5-686 # 1 SMP Sab 5 Mei 01:33:08 UTC 2012 i686 GNU / Linux
ulimit
pengaturan tepat sebelumstart-stop-daemon
perintah. (Yaituulimit -n 64000
) ... untuk orang bodoh seperti saya.Anda juga dapat menggunakan perintah 'limit' di skrip pemula.
Dalam file /etc/init/foo.conf, tambahkan baris:
64000 pertama adalah batas lunak, dan yang kedua adalah batas keras.
Anda dapat menemukan informasi lebih lanjut di sini: http://upstart.ubuntu.com/cookbook/
sumber