IDLE(2) Linux Programmer's Manual IDLE(2)

idle - make process 0 idle

#include <unistd.h>
int idle(void);

idle() is an internal system call used during bootstrap. It marks the process's pages as swappable, lowers its priority, and enters the main scheduling loop. idle() never returns.

Only process 0 may call idle(). Any user process, even a process with superuser permission, will receive EPERM.

idle() never returns for process 0, and always returns -1 for a user process.

EPERM
Always, for a user process.

Since Linux 2.3.13, this system call does not exist anymore.

This function is Linux-specific, and should not be used in programs intended to be portable.

This page is part of release 5.11 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
2021-03-22 Linux