Portál AbcLinuxu, 25. dubna 2024 05:59


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
11.6.2010 08:02 kkaarreell | skóre: 6 | blog: perkele
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Odpovědět | Sbalit | Link | Blokovat | Admin
Nepodarilo se mi dohledat, jak si prohlednu prikazy ve fronte. "at -q" dava jen casy a id. Nevi nekdo?
11.6.2010 08:47 pepazdepa
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
taky nevim, lezu do /var/spool/ (pak to zalezi na systemu) a najdu si slozku atjobs a v tom ten job, je to tam jako textak :)
11.6.2010 09:21 Vtipnéř | skóre: 38 | blog: Vtipnéřův blog | Brno
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
at -c ID. Příkazy jsou až na konci výpisu, takže můžeme přidat ještě | tail.

Ještě bych doplnil na další možnost zadávání příkazů pro spuštění pomocí at: napíšeme jen at nějaký_čas, po odeslání Enterem se objeví prompt at>, kam zadáváme jednotlivé příkazy a zadávání ukončíme stiskem CTRL+D. Ale nevím, jestli je to odpovídá standardu.

Jirka
Opening Windows is better than washing them. Clearing Windows (e.g. erasing or deleting) is even much better.
Josef Kufner avatar 11.6.2010 11:14 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
To je úplně totéž jako to popsané v článku.
Hello world ! Segmentation fault (core dumped)
jose17 avatar 11.6.2010 09:02 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Odpovědět | Sbalit | Link | Blokovat | Admin
rychlejsie je pisat while sleep x; do ...; done
Ja vim, on vi, ty nano!
11.6.2010 09:38 pepazdepa
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
ty jsi ale chytrak. omg
Josef Kufner avatar 11.6.2010 11:16 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Lépe se to chová při zabití toho sleep – skončí to. Příklad v článku okamžitě provede příkaz znovu a zas čeká, takže je trošku těžší to zabít.
Hello world ! Segmentation fault (core dumped)
David Watzke avatar 11.6.2010 12:40 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Moje zkušenost je taková, že zabít je to stejně snadné, právě kvůli while true. Kdyby tam byl nekonečný for, tedy for((;;)), tak by to bylo o něčem jiném.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Josef Kufner avatar 11.6.2010 16:25 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
while true je méně nekonečné?
Hello world ! Segmentation fault (core dumped)
David Watzke avatar 11.6.2010 16:48 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Ne, ale chová se to jinak, když to chceš ukončit. Ostatně si to můžeš přece zkusit.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Josef Kufner avatar 11.6.2010 17:03 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Jinak? U mě obojí dělá úplně totéž. Včetně reakce na ctrl+c a killall sleep.
Hello world ! Segmentation fault (core dumped)
David Watzke avatar 11.6.2010 17:30 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Máš pravdu, tak to sorry. Ale jsem si docela jistej, že někdy dřív se to jinak chovalo, protože ukončit cyklus for((;;)) občas nebyla sranda a musel jsem držet ctrl+c, zatímco u while true to stačilo jen zmáčknout.

Teď sem si i uvědomil že jsem reagoval docela zcestně na tvůj původní komentář, takže si mě radši nevšímej :-D
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 11.6.2010 12:39 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
To tvoje nejdřív spí a potom spustí příkaz, moje naopak.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.6.2010 10:12 tonda
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Odpovědět | Sbalit | Link | Blokovat | Admin
lame --decode nejaka.mp3 nejaky.wav &> /dev/null &
echo -n "Převádím MP3 na WAV… "
wait $! && echo "OK" || echo 'chyba!'
tohle je blbost $! vrati pid prikazu echo ....

spravne melo byt
lame --decode nejaka.mp3 nejaky.wav &> /dev/null &
PID=$!
...
echo -n "Převádím MP3 na WAV… "
wait $PID && echo "OK" || echo 'chyba!'
11.6.2010 10:25 Keson
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
No, zase až taková blbost to nebyla.

$! obsahuje ID procesu, který byl naposledy spuštěn na pozadí (tedy s &).
11.6.2010 10:47 psx
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Ale to se pletete. $! nevrati pid prikazu echo, ale pid posledniho prikazu spusteneho na pozadi a to echo na pozadi spusteno nebylo. Puvodni priklad je spravne.
Josef Kufner avatar 11.6.2010 11:19 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
No, stejnak v tomhle případě je lepší udělat:
echo -n Převádím...
lame ... >/dev/null && echo hotovo || echo chyba
Tedy alespoň pokud není třeba dělat mezitím něco dalšího.
Hello world ! Segmentation fault (core dumped)
David Watzke avatar 11.6.2010 12:38 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
To je pravda. Měl jsem tam naznačit provádění něčeho mezitím, protože tak to bylo míněno.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
D.A.Tiger avatar 11.6.2010 13:12 D.A.Tiger | skóre: 8 | Brno
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Např. vypnutí systému.

V některých případech (většinou když se zpracovává velké množství dat) je lepší spustit skript v době kdy s komplem nic neděláte(třeba přes noc). Skript by po dokončení požadované operace (nebo nějaké závažné chybě) zapsal log a automaticky ukončil systém...
Radost z toho, že někdo objeví něco nového, je omyl starý 6000 let... (Jean Paul) | anthill inside
11.6.2010 12:58 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Odpovědět | Sbalit | Link | Blokovat | Admin
Nepsal bych
wait $! && echo "OK" || echo 'chyba!'
protože to je
wait $! && (echo "OK" || echo 'chyba!')
nikoliv "klasické" if then else
wait $! && (echo "OK") || (echo 'chyba!')
takže teoreticky pokud selže echo OK, objeví se "chyba!", ovšem nikoliv chyba v převodu mp3, ale chyba ve výpisu na obrazovku, což nemusí být to, co autor zamýšlel. V praxi echo OK většinou neselže, ale nepřipadá mi vhodné to takto psát...
David Watzke avatar 11.6.2010 13:04 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
O tomhle vím, ale jednoduše jsem to neřešil. Ale neuškodí to zmínit, tak dík.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.6.2010 19:44 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Odpovědět | Sbalit | Link | Blokovat | Admin
Problém je, že verze at, která je obvykle k nalezení na linuxových systémech, se zde trochu rozchází se standardem Single UNIX Specification a žádný přepínač -r nemá.

Až tak obvyklé to nebude - v SuSE ho podporuje, v Red Hatu ho podporuje, ve Slackware IIRC taky (nebo aspoň podporovala, když jsem ho používal). Vlastně si nevzpomínám na žádnou konkrétní distribuci, kde by defaultní implementace at přepínač -r nepodporovala.

11.6.2010 19:48 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
Např. Gentoo, at v3.1.10.2 (aktuální stable verze v repo).
David Watzke avatar 11.6.2010 20:16 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
A Gentoo podle všeho používá verzi z Debianu, což mě vedlo k tomu napsat to, co jsem napsal.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
11.6.2010 23:34 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
v ubuntu ho též nemám.
Baník pyčo!
David Watzke avatar 12.6.2010 11:34 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Unixové nástroje – 12 (at, sleep, wait)
To je velký překvapení :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.