Ограничение времени CPU для некоторых программ на сервере
Как ограничить время CPU для определенной программы?
Используя команду ulimit, например:
1 | sh -c 'ulimit -t 30 && exec /usr/local/bin/ffmpeg аргументы'
|
разрешит ffmpeg забрать максимум 30 секунд процессора. Ограничивается именно процессорное время, а не общее время, которое процесс может выполняться.
Дополнительно можно запускать с пониженным приоритетом:
1 | /usr/bin/nice -n 20 sh -c 'ulimit -t 30 && exec /usr/local/bin/ffmpeg аргументы'
|
где:
1 2 | 20 - это минимальный приоритет;
0 - нормальный приоритет (выставляется по умолчанию)
|