Démon atd
Démon atd umožňuje uživatelům odesílat úlohy, které mají být provedeny později, například „ve 2:00“. Aby bylo možné používat démona atd, musí být spuštěn. Uživatelé mohou potvrdit, že atd běží, jednoduše prozkoumáním seznamu běžících procesů:
$ ps aux | grep atd daemon 4730 0.0 0.2 1420 532 ? S 15:42 0:00 /usr/sbin/atd madonna 5570 0.0 0.2 3572 640 pts/2 S 16:43 0:00 grep atd
Všimněte si, že sedmý sloupec určuje, ke kterému terminálu je proces přidružen. Pro příkaz blondie's grep je terminál pts/2, což pravděpodobně odkazuje na síťový shell nebo grafický terminál v rámci X session. Všimněte si, že démon atd nemá přidružený terminál. Jednou z definujících charakteristik démona je, že přestane být spojeno s terminálem, který jej spustil.
Odesílání úloh pomocí na
Příkaz at se používá k odesílání úloh do atd démon, který má být spuštěn v určitou dobu. Příkazy, které mají být spuštěny, jsou buď odesílány jako skript (s přepínačem -f na příkazovém řádku), nebo jsou zadávány přímo přes stdin. Standardní výstup z příkazu je odeslán uživateli.
at [-f filename | -m] TIME
Přepnout | Efekt |
---|---|
-f název_souboru | spusťte skript určený názvem souboru |
-m | Po dokončení upozorněte uživatele e-mailem, i když není k dispozici žádný výstup. |
Denní čas lze specifikovat pomocí HH:MM s příponou „am“ nebo „pm“. Lze také použít výrazy „půlnoc“, „poledne“ a „čas na čaj“. (Čtete správně, „čas na čaj“.) Datum lze také zadat pomocí několika formátů, včetně MM/DD/RR. Manuová stránka at(1) poskytuje mnoho dalších podrobností.
Wrestler hogan by rád vytiskl soubor obsahující všechny zprávy od fanoušků, které obdržel, fanmail.txt. Je však trochu znepokojen, protože tiskárnu sdílí s Venturou, která tiskárnu také hodně používá. Ve snaze vyhnout se rvačce se Hogan rozhodne odložit tisk do 2:00 ráno.
$ at 2:00 am warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh at> lpr fanmail.txt at> CTRL-D job 7 at 2020-06-17 02:00
Protože hogan nepoužil -f přepínač příkazového řádku, příkaz at vyzval Hogana, aby zadal své příkazy pomocí stdin (klávesnice). Naštěstí hogan ví, že CTRL-D, když je zadáno přímo z terminálu, označuje „konec souboru“. Případně mohl příkaz přenést přímo do stdin:
$ echo "lpr fanmail" | at 2:00 am warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh job 7 at 2003-06-17 02:00
Dále Hogan potvrzuje, že jeho práce byla zaregistrována pomocí atq.
$ atq 7 2003-06-17 02:00 a hogan
Nakonec si hogan pamatuje, že Ventura je na dovolené, takže si může bez incidentů vytisknout mail od fanoušků. Rozhodne se svou úlohu zrušit a soubor přímo vytisknout.
$ atrm 7 $ atq $ lpr fanmail.txt
Odložení úloh s dávkou
Šarže příkaz, stejně jako příkaz at, se používá k odložení úkolů na pozdější dobu. Na rozdíl od příkazu at dávkový příkaz nespouští v určitou dobu, ale místo toho čeká, dokud nebude systém zaneprázdněn jinými úlohami, ať už to může být. Pokud není stroj při odeslání úlohy zaneprázdněn, může se úloha spustit okamžitě. Démon atd monitoruje zatížení systému a před spuštěním úlohy čeká, až klesne pod 0,8.
Příkaz batch má syntaxi identickou s příkazem at, kde lze úlohy zadat pomocí stdin nebo odeslat jako dávkový soubor s -f přepínač příkazového řádku. Pokud je zadán čas, dávka zdrží sledování stroje až do zadaného času. V té době začne dávkové monitorování zatížení systému a spustí úlohu, když systém není jinak zaneprázdněn.