Ulimit не работает должным образом

481
mursalin

я пытаюсь ограничить использование памяти процесса с помощью ulimit

ulimit -Sv 100000 ulimit -St 10 fakechroot ./compiledfile 

я запускаю команду в том же терминале (я использую Ubuntu 16.04) и исходный код скомпилированного файла

#include<stdio.h> int main() { while(1) { malloc(110000000); pf("allocated : %d\n",i); } return 0; } 

процесс должен быть прекращен из-за ограничения памяти .. но он работает до конца ограничения по времени. Я не понимаю, почему. Я новичок, извините, если вопрос глупый .. любая помощь или предложение приветствуется .. спасибо

0
Не уверен, но создает ли `fakechroot` новый процесс? `ulimit` влияет только на текущий процесс. Вы можете попробовать запустить скрипт с `ulimit` и вашим`. / Compiledfile` внутри `fakechroot` Joe P 6 лет назад 0
@joe P я пробовал без fakechroot (./compiledfile) bt без изменений mursalin 6 лет назад 0
Вы должны проверить возвращаемое значение `malloc`. Он вернет `NULL`, когда выделение не удастся из-за ограничения памяти или по другой причине. x22 6 лет назад 1

0 ответов на вопрос

Похожие вопросы