Прямо прежде, чем отправить это я решил попробовать полный путь, и он работал! Я решил отправить ответ для будущих Сотрудников Google и также сообщить, что "запуск" в конце не требуется. Это позволяет передать аргументы исполняемому файлу. Это - то, что работало:
cpulimit --limit 40 /home/ben/build/a.out -c 5
В более новых ядрах используется полностью честный планировщик (он заменяет o (1) планировщик старых ядер).
CFS хранит запланированную задачу в красно-черном дереве и использует величину отработанного процессора для процесса выполняется в качестве ключа. Это позволяет планировщику выбрать процесс с наименьшим количеством выполнения (который хранится в узле левого мода дерева).
После того, как задача будет запускаться, она удаляется с дерева, а затем, когда он работает, он повторно добавляется с новым временем процессора.
Процессы, которые «спят» в течение длительного времени автоматически получат приоритетное повышение, поскольку у них нет большого потраченного времени процессора.
Следовательно, это «справедливо», поскольку процессы, которые спят, получают столько процессора в качестве процессов, которые постоянно работают