sleep ist ein Kommandozeilenbefehl, welcher in Unix, unixoiden Betriebssystemen, Windows und FreeDOS[1] als Systemaufruf einen laufenden Prozess für eine festgelegte Zeitspanne pausiert.
Die sleep
-Anweisung unterbricht den gegenwärtig laufenden Prozess für die festgelegte Anzahl von Sekunden (per Default), Minuten oder Stunden:
sleep [Zeit]
mit einem ganzzahligen Wert für Zeit zur Angabe der Zeitperiode in Sekunden.[2]
Der aktuelle Prozess wartet 30 Sekunden:
sleep 30
Oder sogar 5 Stunden:
sleep 18000
Warte 3 Stunden und spiele anschließend die Datei foo.mp3 ab:
sleep 3h ; mplayer foo.mp3
Ausdrücke wie sleep 5h30m
und sleep 5h 30m
erzeugen Fehlermeldungen, da der sleep
-Befehl einen Wert und (optional) eine Einheit als Argumente erwartet. GNU sleep
verwendende Betriebssysteme (einschließlich Linux) stellen jedoch die Schreibweise sleep 5h 30m
, mit zwingend notwendigem Leerzeichen zur Trennung von Stunden und Minuten, zur Verfügung.
Gleitkommazahlen bewahren vor unübersichtlichen Zeitangaben in reinen Sekunden.[3]
Warte 5,5 Stunden:
sleep 5.5h
Die Aneinanderreihung von sleep
-Befehlen erfüllt denselben Zweck.
Pausiere 5 Stunden und anschließend weitere 30 Minuten:
sleep 5h; sleep 30m
Begrüße den derzeit angemeldeten Benutzer (User, hier root), warte 5 Sekunden und verabschiede dich am Ende von ihm:
Die PowerShell von Windows definiert den sleep
-Befehl durch einen Alias für das Cmdlet Start-Sleep
[4] und Microsoft stellt ein Resource Kit-Tool für sleep
bereit. Innerhalb einer Batch-Datei oder mittels Windows Eingabeaufforderung unterbricht der Befehl die Ausführung des Programms für eine frei wählbare Zeit.[5]
Neuere Versionen von Windows unterstützen außerdem die Verwendung des timeout
-Befehls.[6]
Der Task Scheduler von Windows und Cron in UNIX nutzen den sleep
-Befehl um Prozesse zu planen oder deren Ausführung zu verzögern.[7][8]
In einem geteilten Netzwerk begrenzt der sleep
-Befehl die Anzahl an Usern, die eine große Datei (z. B. mit dem Unix-Befehl wget) herunterladen wollen.
sleep(3)
– Open Group Base Specification