Sleep (Unix)

sleep je príkaz v Unixe, Unix-like a ďalších operačných systémoch, ktorý pozastaví („uspí“) vykonávanie procesu na určený čas. Používa sa typicky v skriptoch alebo sekvenciách príkazov, zadávaných z príkazového riadku.

Popis 
Proces, ktorý príkaz zavolá, zastaví svoje vykonanie minimálne na čas, zadaný ako parameter. Bez bližšej špecifikácie je čas interpretovaný ako počet sekúnd, je však možné zadať aj počet minút, hodín alebo dní.

sleep pre Unix-like systémy je súčasťou X/Open Portability Guide od 2. vydania z roku 1987. Prevzatý bol do prvých verzií POSIX a Single UNIX Specification. Prvýkrát bol zahrnutý v Unix Version 4.

Verziu sleep, ktorá je súčasťou GNU coreutils, napísali Jim Meyering a Paul Eggert. Príkaz je tiež dostupný v shelli systému OS-9, v KolibriOS Shell, a súčasťou FreeDOS package group Utilities. Verzia, ktorá je vo FreeDOS, je od Trane Francks a licenciovaná pod GPL.

Príkaz sleep je tiež súčasťou ASCII MSX-DOS2 Tools pre MSX-DOS verzie 2.

V PowerShell je sleep preddefinovaný ako alias na Start-Sleep cmdlet, ktorý slúži na rovnaký účel. Microsoft tiež poskytuje sleep ako utilitu v balíku Resource Kit Tools pre Windows. Inou natívnou verziou je príkaz timeout, ktorý je súčasťou aktuálnych vydaní Windows.

Príkaz bol tiež portovaný do operačného systému IBM i pre IBM Power Systems.

Použitie 
 sleep N

kde N je nezáporné celé číslo, udávajúce časový interval v sekundách. Niektoré implementácie povoľujú zadávať N ako desatinné číslo.

Príklady 
 sleep 30 # počká 30 sekúnd

 sleep 18000 # počká päť hodín

GNU sleep 
 sleep 3h ; mplayer foo.mp3 # počká 3 hodiny a prehrá foo.mp3

Volania sleep 5h30m a sleep 5h 30m nie sú správne, nakoľko sleep očakáva len jednu číselnú hodnotu a jeden typ. Napríklad sleep 5.5h (zadaný ako desatinné číslo) je správny. Použiť sa dá aj nasledujúca sekvencia volaní:

 sleep 5h; sleep 30m # počká 5 hodín, a potom ďalších 30 minút

GNU implementácia sleep (súčasť coreutils; používaná napríklad v Linuxe) umožňuje zadať hodnotu ako desatinné číslo alebo odovzdať viacero hodnôt, v tomto prípade teda bude fungovať aj vyššie uvedené sleep 5h 30m (hodiny a minúty je potrebné oddeliť medzerou).

Medzi možné využitia sleep patrí naplánovanie úloh, ktoré sa spustia neskôr. Napríklad na odloženie stiahnutia veľkého súboru na obdobie, kedy bude zdieľané pripojenie využívať menej používateľov.

Pozri aj 
 sleep (systémové volanie)

Referencie

Externé odkazy 
 
 
 

Unixové príkazy