Python - decrease niceness value
Linux, by default, doesn't allow unprivileged users to decrease the nice value (i.e. increase the priority) of their processes, so that one user doesn't create a high-priority process to starve out other users. Python is simply forwarding the error the OS gives you as an exception.
The root user can increase the priority of processes, but running as root has other consequences.
This is not a restriction by Python or the os.nice
interface. It is described in man 2 nice
that only the superuser may decrease the niceness of a process:
nice() adds inc to the nice value for the calling process. (A higher nice value means a low priority.) Only the superuser may specify a negative increment, or priority increase. The range for nice values is described in getpriority(2).