在 2.6.28-11 Linux 内核上,我使用 setpriority 来调整不同用户进程接收的 cpu 时间量。用户 1 将获得用户 2 的两倍 CPU 功率。使用 Linux 的 setpriority,我为用户 2 分配了较低的优先级(在 nice 值方面较高)。当我在计算机负载下通过 shell 运行完全相同的程序时,用户 2 的执行时间是用户 1 的两倍。但是,如果我以 root 身份运行程序,然后使用 setuid、seteuid、setgid、setegid 和 setgroups 成为用户 2(计算机再次处于负载状态,用户 1 以相同的方式运行完全相同的程序) ,程序的执行时间完全相同;用户 2 的进程的调度时间不低于用户 1 的进程。我怎样才能解决这个问题?我是否需要为调度程序设置其他任何内容才能意识到该进程现在是不同用户的一部分?
正在运行的程序是用 Python 编写的。