Команды Ниццы и Рениса
Мне интересно знать, какие методы на стороне ядра вызываются при выполнении команд nice и renice? Я нашел set_user_nice() на стороне ядра. Однако это аргументы не pid и nice, которые мы используем, когда запускаем команду renice(taskstruct & nice value). Кто-нибудь знает, какие функции вызываются при выполнении команд nice & renice?
1 ответ
Решение
nice
а также renice
Команды вызывают setpriority
Системный вызов. (Вы можете обнаружить это с strace
.)
setpriority
функция вызывает sys_setpriority
функция в ядре (хотя вы не можете найти это имя в исходном тексте ядра напрямую; оно генерируется из макро-расширения SYSCALL_DEFINE3(setpriority, ...)
).