Plánování spouštění úloh: Porovnání verzí

Smazaný obsah Přidaný obsah
Matiia (diskuse | příspěvky)
Zrušena verze 27659 od uživatele Správci.wikipedie.jsou.zlí (diskuse)
optimalizace kódu; oprava kódu; správná sémantika
Řádek 1:
Řešení spouštění programů ne okamžitě, ale někdy v budoucnu. Unix-like systémy používají dva způsoby řešení:
 
; periodicky/opakovaně "někdy později"
:* '''periodicky/opakovaně "někdy později"''' - pomocí démonu "crond". Popis spouštění příkazů je uložen ve struktuře (souboru) zvané [[crontab]]. Globální systémový soubor popisu tohoto opakovaného spouštění je /etc/crontab, uživatelé mohou mít svůj popis - ten je pak uložen v souboru <code>/var/spool/cron/jméno_uživatele</code>. Globální specifikaci může ovlivnit pouze [[root]] a může ji tvořit/modifikovat přímo textovým editorem, uživatelská je přístupná pomocí příkazu "<code>crontab<code>". Prvních pět polí řádky popisu jsou specifikace času, kdy se má daný příkaz vykonat. V globální specifikaci je jako šestý parametr jméno uživatele, pod kterým je daný program (sedmý parametr) spuštěn, v uživatelské specifikaci není - šestý parametr je specifikace programu a program je vždy spuštěn s UID uživatele.<br>Root může povolit/zakázat uživatele, kteří mohou používat spouštění úloh pomocí [[cron]] démonu, jejich vyjmenováním v souborech <code>/etc/cron.allow</code> a <code>/etc/cron.deny</code>. Zbytek řádky struktury crontab jsou parametry programu (tento zbytek je celý předán shell-u k vykonání, tzn. může to být zřetězení příkazů vč. přesměrování vstupů/výstupů). Implicitní shell je "'''/bin/sh'''", je možné specifikovat jiný shell deklarací proměnné '''SHELL'''. Speciální znak "'''%'''" bude démonem '''crond''' změněn na <nowiki><LF></nowiki> a vše za ním bude posláno na standardní vstup příkazu.<br>Blíže viz manuálové stránky '''cron''' a '''crontab'''.
; jednorázově "někdy později"
:* '''jednorázově "někdy později"''' - pomocí démonu "atd". Úlohy (je možno je zadat jak ze stdin tak ze vstupního souboru) se zařadí do časové fronty démona - pomocí příkazu [[at]] nebo [[batch]]; je možné je kdykoliv vypsat příkazem [[atq]] nebo je z časové fronty smazat příkazem [[atrm]]. Příkaz at má řadu voleb specifikace data a času spuštění úlohy.<br>'''! Pokud je specifikace data i času v daném dnu, musí být specifikace času první !'''
 
Root může povolit/zakázat uživatele, kteří mohou zařadit do fronty spouštění úloh pomocí '''at''' démonu, jejich vyjmenováním v souborech <code>/etc/at.allow</code> a <code>/etc/at.deny.</code><br>Blíže viz manuálové stránky '''at''', '''batch''', '''atq''', '''atrm''' a '''atd'''.
 
Blíže viz manuálové stránky '''at''', '''batch''', '''atq''', '''atrm''' a '''atd'''.
 
:* '''jednorázově "někdy později"''' - pomocí démonu "atd". Úlohy (je možno je zadat jak ze stdin tak ze vstupního souboru) se zařadí do časové fronty démona - pomocí příkazu [[at]] nebo [[batch]]; je možné je kdykoliv vypsat příkazem [[atq]] nebo je z časové fronty smazat příkazem [[atrm]]. Příkaz at má řadu voleb specifikace data a času spuštění úlohy.<br>'''! Pokud je specifikace data i času v daném dnu, musí být specifikace času první !'''
Root může povolit/zakázat uživatele, kteří mohou zařadit do fronty spouštění úloh pomocí '''at''' démonu, jejich vyjmenováním v souborech <code>/etc/at.allow</code> a <code>/etc/at.deny.</code><br>Blíže viz manuálové stránky '''at''', '''batch''', '''atq''', '''atrm''' a '''atd'''.
<pre>
<nowiki>