Правильно, это спроектированное поведение, даже если это не то, что вы хотите. Вы можете обновить свой собственный приоритет, чтобы он соответствовал тому, что вы должны были унаследовать, если вы были запущены нормально:
/* C */
#include <sys/resource.h>
int proc_prio = getpriority(PRIO_PROCESS, getpid()),
pgrp_prio = getpriority(PRIO_PGRP, getpgrp()),
user_prio = getpriority(PRIO_USER, getuid());
setpriority(PRIO_PROCESS, getpid(),
proc_prio < pgrp_prio ? pgrp_prio < user_prio ? user_prio
: pgrp_prio
: proc_prio < user_prio ? user_prio
: proc_prio);
# Python
import ctypes
import os
PRIO_PROCESS, PRIO_PGRP, PRIO_USER = 0, 1, 2
libc = ctypes.CDLL('libc.so.6')
libc.setpriority(PRIO_PROCESS, os.getpid(),
max(libc.getpriority(PRIO_PROCESS, os.getpid()),
libc.getpriority(PRIO_PGRP, os.getpgrp()),
libc.getpriority(PRIO_USER, os.getuid())))
Или, конечно, вы можете исправить приоритет другого процесса с соответствующими привилегиями.