#include <unistd.h>
unsigned int sleep( | unsigned int seconds); | 
	        | unsigned int seconds; | 
Funkci se předává jako jediný parametr doba v sekundách o kterou chceme pozdržet vykonávání programu, program uspat. Jako návratovou hodnotu dostaneme 0, je-li vše v pořádku, nebo nenulové číslo které nám sděluje, kolik sekund do námy požadované doby zbývá. To v případě, kdy je program ze spánku probuzen předčasně jinou událostí.
Musíme tedy počítat s tím, že se program „probudí“ dříve něž jsme požadovali.  Pokud chceme lepší kód, můžeme použít následující kontstrukci která opakovaně požaduje sleep  dokud není vyčerpán celkový požadovaný čas.  I přesto ale musíme mít na paměti že celkový "quote" prospaný čas nemusí přesně sedět.  Bude to kvůli kódu navíc a kvůli nepřesnostem kdy žádáme o spánek v celých sekundách ale probuzeni můžeme být v zlomcích sekund.
for (t = tot_time_to_sleep; (tleft = sleep(t)) > 0 && errno == EINTR; t = left);
Následující kód nebyl odzkoušen.
for (n=10; n > 0 && errno == EINTR; n=sleep(n));
funkce sleep