abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:11 | Nová verze

    Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Bezpečnostní upozornění

    Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.

    vencour | Komentářů: 0
    dnes 11:44 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.

    Ladislav Hagara | Komentářů: 1
    dnes 03:33 | Nová verze

    Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Bezpečnostní upozornění

    Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Zajímavý projekt

    Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 7.0.0. Pro sandboxing se na Linuxu nově používá Landlock místo Bubblewrap. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    13.9. 23:33 | Nová verze

    Správce fotografií Shotwell byl vydán ve verzi 33.0 (GitLab). Hlavní novinkou v tomto vydání po dvou letech je přechod na GTK4.

    ʚĭɞ 🍉 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2673 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Neinteraktivni shell neukonci potomky kdyz skonci na signal

    mutable avatar 9.9.2009 22:23 mutable | skóre: 7 | blog: mutable_the_mutative
    Neinteraktivni shell neukonci potomky kdyz skonci na signal
    Přečteno: 533×

    Ahoj.

    Když pustím:

    sh -c 'yes'

    a pošlu SIGTERM právě spuštěnému shellu, sh i yes skončí.

    Když pustím:

    sh -c 'yes | sed "s/y/n/"'

    a pošlu SIGTERM právě spuštěnému shellu, sh skončí, ale yes a sed zůstanou běžet (init se stane předkem).

     

    Proč?

     

    V bash manpage je napsáno, že pokud je shell interaktivní a dostane SIGHUP, přepošle ho všem potomkům a počká na ně než se ukončí. Je možné dosáhnout něčeho podobného (tj. ukončit processy, které pod ním běží, když dostane nějaký signál, např. TERM) když je shell neinteraktivní (tj. když ho spustím s parametrem -c).

    Děkuju za pomoc.

     

    Odpovědi

    9.9.2009 22:45 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Neinteraktivni shell neukonci potomky kdyz skonci na signal
    Proč?
    Neručím za to, že to vysvětluji správně - větší znalci mě snad opraví :-).

    Pokud pustím z terminálu
    sh -c 'yes'
    tak sh provede rovnou exec() a yes je tedy potomkem interaktivního shelu a tudíž dostane hezky ten signál přeposlaný.

    Pokud se ale spustí
    sh -c 'yes | sed "s/y/n/"'
    tak se musí vytvořit subshell (jsou nutné 2× fork() a 2× exec()) a ten už je neinteraktivní a signály asi ignoruje.

    Jak se tomu vyhnout mě ale nenapadá.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    mutable avatar 9.9.2009 22:56 mutable | skóre: 7 | blog: mutable_the_mutative
    Rozbalit Rozbalit vše Re: Neinteraktivni shell neukonci potomky kdyz skonci na signal

    Diky, to je ono (v prvnim pripade v `ps -f' opravdu zadny sh neni, v druhem ano).

    Ten neinteraktivni shell signaly neignoruje, ale jenom nepokilluje potomky (coz je asi spravne, ale ted mi to zrovna nevyhovuje).

    10.9.2009 10:49 ams
    Rozbalit Rozbalit vše Re: Neinteraktivni shell neukonci potomky kdyz skonci na signal

    Muzete poslat signal cele skupine procesu, to zabije nejenom sh -c ale i jeho potomky. To se dela tak, ze prikazu kill predate zaporny PID. Napr., pokud PID procesu sh -c je 1234, pak kill -9 -1234 zabije i 'yes | sed'.

    10.9.2009 16:13 pakanek | skóre: 28 | Vyškov
    Rozbalit Rozbalit vše Re: Neinteraktivni shell neukonci potomky kdyz skonci na signal
    Pokud by to bylo ve skriptu a chtěl by jsi si po sobě uklidit, tak ještě můžeš použít trap, kterým definuješ akce, které se mají provést po obdržení specifického signálu.
    Všechno dobré je pro něco zlé.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.