Portál AbcLinuxu, 12. května 2025 12:37

Dotaz: jak spustit funkci/script při ukončení/pádu běžícího scriptu

24.10.2014 18:47 Kamos
jak spustit funkci/script při ukončení/pádu běžícího scriptu
Přečteno: 290×
Odpovědět | Admin
Chlapy mám jště jeden dotaz, kdysi jsem používal nějaký zápis v kódu, kde jsem nastavil to, že pokud se jakkoli ukončil script, spustila se nastavená funkce. Nemůžu to nikde najít, poradíte prosím ještě? Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 24.10.2014 18:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
skript; moje_funkce()
24.10.2014 19:04 Kamos
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
to nebylo ono, nějaká jiná možnost? Děkuji
24.10.2014 19:24 TTTTTTTT
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
http://redsymbol.net/articles/bash-exit-traps/
    #!/bin/bash
    function finish {
    # Your cleanup code here
    }
    trap finish EXIT 
A zlepši hledání, ani na jednu z otázek jsem neznal odpověď, ale během minuty ji našel ;-)
24.10.2014 19:35 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Proč by to dělal? Když uvidí, že se stačí zeptat a někdo to najde za něj, proč by se obtěžoval? :-(
Jendа avatar 24.10.2014 19:48 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
jakkoli ukončil script

Fatální signály jako KILL to nevezme.
24.10.2014 19:55 Kamos
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Díky, ale hledám něco pro všechny situace, tohle se spustí jen při zavolání exit-u :-(
Jendа avatar 24.10.2014 20:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Podle mě to není možné. Jak by program mohl spustit nějakou další funkci, když ho něco zvenku okamžitě a bezu varování zabije?
24.10.2014 20:16 Kamos
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Bylo to nějak jako by obalené v nějakém sandboxu, který to poznal... ale je to dlouho a nemůžu to najít. Záloha je super věc, pokud ji není 2TB :-(
Jendа avatar 24.10.2014 21:34 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Bylo to nějak jako by obalené v nějakém sandboxu, který to poznal...
No a proč to nemůže být spuštěné v shellu jak jsem navrhoval?
25.10.2014 03:28 Kamos
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Asi to bude nejschoudnější cesta... zatím díky moc všem ;)
25.10.2014 10:43 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
trap [-lp] [[arg] sigspec ...]
       The  command  arg  is  to  be  read  and executed when the shell receives signal(s) sigspec.

trap clean_up SIGHUP SIGINT SIGKILL ERR EXIT
Jendа avatar 25.10.2014 17:08 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Nevím, jak v tvém UNIXu, ale v Linuxu tohle nefunguje. KILL je signál, který proces okamžitě zabije. Proces už nemůže nic dělat, ani spustit cleanup.
function brm {
  echo "It's a TRAP!"
}
trap brm SIGHUP SIGINT SIGKILL ERR EXIT
sleep 60


/tmp> bash test.sh &
[1] 19153
/tmp> kill -TERM $!
It's a TRAP!
/tmp> 
[1]+  Terminated              bash test.sh
/tmp> bash test.sh &
[1] 19173
/tmp> kill -KILL $!
/tmp> 
[1]+  Killed                  bash test.sh

25.10.2014 23:59 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
mas pravdu, nefunguje to. myslel som (a neskusal), ze ked to v manuali nepisu, tak to pojde.
24.10.2014 20:35 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: jak spustit funkci/script při ukončení/pádu běžícího scriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
bash wait

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.