Я пытаюсь использовать ulimit
, функцию оболочки bash, чтобы ограничить время запуска программы. Например, я пробовал это:Как ограничить время работы процесса с помощью ulimit?
$ (ulimit -t 1; ./a.out)
Но это не работает. он запускает программу ./a.out
, пока она не остановится (5 секунд). Кто-нибудь знает, как это сделать? Кстати, я экспериментировал с включением в -H
на ulimit
командной строки, но это только дает эту ошибку:
bash: ulimit: cpu time: cannot modify limit: Operation not permitted
Спасибо.
Существует разница между процессорным временем (которое вы указываете с помощью 'ulimit -t') и фактическим временем выполнения. Вы можете узнать, сколько процессорного времени используется вашей программой, запустив 'time./A.out'. 'time' сообщает реальное прошедшее время, время процессора пользователя и время центрального процессора. – ThisSuitIsBlackNot
Меня интересует время процессора. Можете ли вы пролить свет на то, как делать то, что я хочу? – user2839463
Вы пробовали '(ulimit -t 1; time ./a.out)', чтобы убедиться, что ваша программа действительно превышает одну секунду времени процессора? – ThisSuitIsBlackNot