Мне нужно запустить команду «ulimit -n 400», чтобы собрать количество разрешенных открытых файлов, прежде чем я запустил свою программу, написанную на C, но есть ли способ сделать эквивалент из программы C?Как сделать эквивалент «ulimit -n 400» изнутри C?
То есть, увеличьте количество разрешенных дескрипторов открытых файлов для этого процесса. (Меня не интересуют ограничения на потоки.)
Будет ли это связано с установкой ulimits, а затем для разворачивания ребенка, которому будет разрешено иметь больше открытых файлов?
Конечно, я мог бы написать оболочку оболочки, которая запускает ulimit, а затем запускать мою программу на C, но она выглядит менее элегантной. Я мог бы также grep через исходный код bash или sh посмотреть, как это делается там - возможно, если я не получу ответа здесь.
Также, если вы хотите выбрать много дескрипторов файлов, look here.
Я боюсь, что вы сможете снизить лимит, но не поднимать его из одного и того же процесса. –
@ Паскаль, я понял, что это может быть так, но должен быть способ поднять для ребенка, или команда ulimit не будет иметь никакого эффекта. –
Не могли бы вы назвать оболочку, делающую это из программы C? – Raveline