В Linux существует ограничение на количество открытых файлов. Я могу использовать, ulimit -n
чтобы увидеть лимит открытых файлов, который по умолчанию составляет 1024. Затем я также могу увидеть мягкие / жесткие ограничения для каждого открытого процесса, посмотрев на / proc / $ PID / limit. Я вижу soft = 1024 и hard = 4096.
Мне интересно, в чем разница между этими двумя выходными?
Кроме того , делать setRlimit()
и getRlimit()
применять к общесистемным или в процессе?
ulimit -n
? Это не влияет на уже запущенные процессы, только на оболочку и будущие. Помимо этого, процесс может повышать свой мягкий предел до жесткого ограничения. Таким образом, вы можете использовать,ulimit -H -n
чтобы остановить это.