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.

Return Value

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



Always, for a user process.


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

Conforming to

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


This page is part of release 5.04 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

Referenced By


2012-12-31 Linux Programmer's Manual