Portál AbcLinuxu, 16. srpna 2025 00:18


Dotaz: Přerušení bash listu

Aleš Černý avatar 15.12.2004 22:39 Aleš Černý | skóre: 16
Přerušení bash listu
Přečteno: 148×
Odpovědět | Admin
Možná trochu blbý dotaz, ale jde nějak přerušit jednou odklepnutá posloupnost příkazů? Např. odcházím z domu a chci ještě pustit kompilaci, ale vím, že budu pryč dlouho elektřina je drahá, proto napíšu něco jako 'make blabla && halt'. Jenže nečekaně přijdu dřív a kompilace ještě běží. Jak zakážu spuštění toho haltu? CTRL-C by přerušilo i kompilaci.

P.S. Pro zasmání: samozřejmě, že ten příklad jsem si jen tak nevymyslel a počítač se mi před chvílí vypnul uprostřed psaní tohohle dotazu :o)
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.12.2004 23:23 kaaja
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mozna nespoustet halt, ale najky skript, ktery podle neceho pozna jestli zrovna nechcete pocitac vypnout.

make blalba && test -e vypnout && halt

kdyz existuje soubor vypnout tak to vypne.
15.12.2004 23:32 Michal Kubeček
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nepomohlo by killnout přímo ten shell?
15.12.2004 23:36 Michal Kubeček
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odvolávám, četl jsem nepozorně a nevšiml jsem si, že vám jde o to, jak tu kompilaci nechat doběhnout.
16.12.2004 00:21 MichalX
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ctrl-C sice přeruší kompilaci, ale pokud date znovu make blabla, tak se bude kompilovat jen ten zbytek před přerušením, tj. vlastně plynule navážete na přerušený make. Neříkám, že to fachá vždycky, ale pokud je ten Makefile alespoň trochu slušně napsaný/vygenerovaný, tak to většinou takhle jde.
Aleš Černý avatar 16.12.2004 10:39 Aleš Černý | skóre: 16
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky za nápady. To s tou podmínkou mě napadlo taky, i když spíš kontrolou hodnoty nějaký proměnný, takže bych pak třeba zadal 'export SKONCIT=ne' a bylo by. Mě jen zajímalo, jestli to jde v principu, jestli na to má bash nějaký nástroj. Představoval jsem si, že třeba když zadám 'prikaz1 && prikaz2 && prikaz3 && prikaz4', tak by mohlo jít během vykonávání prikazu2 zjistit, jaký příkazy jsou ještě v pořadí a pak třeba zrušit vykonání prikazu4 po skončení prikazu3. No, ale to už bych asi chtěl moc:o)
16.12.2004 13:08 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: Přerušení bash listu
Ten nápad s tou proměnou je pitomost. Vám nic neříká environment? Ne, neříká.
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
Aleš Černý avatar 16.12.2004 19:00 Aleš Černý | skóre: 16
Rozbalit Rozbalit vše Re: Přerušení bash listu
Nojo, je to pitomost. Já jsem nad tím vůbec nepřemýšlel, jen když jsem četl to s tím souborem, tak mě napadla proměnná a hned jsem to tam napsal. Je to blbost.
16.12.2004 13:38 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obecná, ale složitá metoda by asi byla tato: Prostudovat zdroják bashe a najít, kde se by se spustil další příkaz (to by mělo být vcelku snadné). Připojit se gdb pomocí gdb --pid a vrazit tam breakpoint (pokud je bash stripnutý a nemáš k němu -debuginfo (RH), tak tohle je dost pruda). Nechat bash pokračovat, až to doleze na breakpoint, tak se podívat, co se má spustit, a buď pokračovat, nebo to killnout.
Jiří Svoboda avatar 16.12.2004 14:43 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja bych to asi udelal jako:
make blabla && shutdown -h +5
Aneb, kdyz skoncis, tak se za pet minut downi. Myslim, ze to je dostatecne dlouha prodleva na to, aby se ten shutdown dal zrusit.
16.12.2004 18:43 Martin Čížek | skóre: 20 | Praha
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já bych to řešil takto:
LOCK=/tmp/klidne-se-vypni
touch "$LOCK" && make blabla && rm "$LOCK" && halt
Po příchodu domů stačí jen vymazat /tmp/klidne-se-vypni.
Kdyby dva z nás byli dvěma z nich, všichni z nás by mohli být všemi z nich.
Aleš Černý avatar 16.12.2004 19:07 Aleš Černý | skóre: 16
Rozbalit Rozbalit vše Re: Přerušení bash listu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jo, děkuju za nápady, ale mně ani tak nešlo o tenhle konkrétní případ s haltem (k tomu mě navedlo jen to, že se mi to stalo :o) ). Já byl jen zvědavej, jestli má na tohle bash nějaký vlastní nástroj, volbu nebo to zařizuje tak, že to jde třeba pomocí nějakýho jinýho nástroje. Ale jak tak koukám, tak ani náhodou. No nic, jak říkám, jen mě to zajímalo, konkrétní případy jdou určitě ošetřit mnoha způsoby (nikdo třeba ještě nenapsal, že by v tom případě s halt stačilo 'rm /sbin/halt' :o))) )
16.12.2004 19:24 Michal
Rozbalit Rozbalit vše Re: Přerušení bash listu - on signature
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co se tyce tvy signatury - ty radsi vydolovanou krajinu a sklenikovy plyny? Prosim nemluv o alternativnich zdrojich - to jsou zdroje doplnkove - nikoli alternativni.
Aleš Černý avatar 16.12.2004 19:46 Aleš Černý | skóre: 16
Rozbalit Rozbalit vše Re: Přerušení bash listu - on signature
:o))) Hehe, to je ironická signatůra, víš? Když jsem se totiž dozvěděl o tom, že se v Rakousku prodává "filtr", který si prý strčíte do zásuvky a do něj až kabel a on vám odfiltruje radioaktivní elektrony z Temelínské elektrárny, a že si ten filtr dokonce ty Rakušáci i kupujou, tak jsem myslel, že mě to přetrhne! Takhle jsem se už dlouho nezasmál! Mimochodem, to že se v signatuře mluví o Temelínu tě rozčertí a radioaktivní elektrony ti nevadí?? :o)))

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.