В ядре Linux 2.6.28-11 я использую setpriority для смещения количества процессорного времени, получаемого различными пользовательскими процессами. Пользователь 1 должен получить удвоенную мощность ЦП пользователя 2. Используя setpriority Linux, я назначил пользователю 2 более низкий приоритет (более высокий с точки зрения приятных значений). Когда я запускаю ту же самую программу через оболочку с загруженным компьютером, выполнение пользователя 2 занимает в два раза больше времени, чем выполнение пользователя 1. Однако, если я запускаю программу от имени пользователя root, а затем использую setuid, seteuid, setgid, setegid и setgroups, чтобы стать пользователем 2 (еще раз компьютер находится под нагрузкой, и точно такая же программа запускается пользователем 1 таким же образом) , программы выполняются одинаковое количество времени; Процесс пользователя 2 планировался не меньше, чем процесс пользователя 1. Как я могу обойти это? Нужно ли мне устанавливать что-то еще, чтобы планировщик понял, что процесс теперь является частью другого пользователя?
Запускаемая программа написана на Python.