Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

sleep - Programm für festgesetzte Zeitspanne anhalten

&pagelevel(4)&pagelevel

Definition

#include <signal.h>

int sleep(unsigned int sek);

sleep hält ein Programm für sek Sekunden an.

Returnwert

Angeforderte Zeit minus tatsächliche Zeit.

Falls sleep früher beendet wurde als in sek angegeben, wird die noch übrige Zeit angezeigt (siehe auch Hinweis).

Hinweise

sleep legt das Programm für sek Sekunden auf Eis, indem intern der VPASS-Makro mit dem Wert von einer Sekunde in einer Schleife aufgerufen wird.
Obwohl das Programm mit sleep für Sekunden angehalten wird, läuft die Zeit für eine zuvor gestellte Alarmuhr (mit alarm) weiter. Dies hat folgende Auswirkungen:

  1. Die vorher eingestellte Alarmzeit sei kleiner als die sleep-Zeit, etwa

    alarm(2);

    sleep(30);

    Nach Ablauf von zwei „Schlaf“-Sekunden wird der Alarm ausgelöst und der sleep-Aufruf beendet.

  2. Die vorher eingestellte Alarmzeit sei größer als die sleep-Zeit, etwa
    alarm(30);
    sleep(5);

    Die Zeit der Alarmuhr läuft um 5 „schlafende“ Sekunden weiter. Die Alarmuhr steht nach dem sleep-Aufruf auf 25.

Die Zeit, die das Programm tatsächlich angehalten wird, kann auch noch aus folgenden Gründen von sek abweichen:

  • sie kann bis zu einer Sekunde kürzer sein, weil das „Aufwecken“ in festen 1-Sekunden-Intervallen stattfindet,

  • sie kann aus Prioritätsgründen beliebig länger sein, weil das System Wichtigeres zu tun hat.

Siehe auch  alarm, signal