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í
×
    včera 04:33 | Nová verze

    Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].

    Ladislav Hagara | Komentářů: 0
    23.5. 17:22 | Nová verze

    Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 2
    22.5. 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    22.5. 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).

    Ladislav Hagara | Komentářů: 0
    22.5. 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 5
    22.5. 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 9
    22.5. 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    21.5. 21:33 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    21.5. 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    21.5. 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1702 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Ochrana programu před CTRL+C

    6.11.2012 17:15 jardA
    Ochrana programu před CTRL+C
    Přečteno: 618×
    Ahoj, snazim se neco bastlit v shellu a zjistil jsem, ze program lze kdykoliv prerusit stisknutim kombinace CTRL+C coz je nemile, jelikoz program po sobe nestihne uklidit. Muj dotaz tedy smeruji na tento problem, lze nejak a) zamezit teto kombinaci, b) nastavit co se musi udelat pri stisknuti teto kombinace, c) vase jiná možnost? Díky za pripadnou pomoc.

    Řešení dotazu:


    Odpovědi

    6.11.2012 17:23 Trdlo
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    http://hacktux.com/bash/control/c
    Řešení 1× (victor8)
    6.11.2012 17:59 Kit
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    trap
    6.11.2012 23:04 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    len pre doplnenie:
    trap [COMMANDS] [SIGNALS]
    
    This instructs the trap command to catch the listed SIGNALS,
    which may be signal names with or without the SIG prefix,
    or signal numbers. If a signal is 0 or EXIT,
    the COMMANDS are executed when the shell exits. 
    
    ^C je z pohladu shellu len jeden zo signalov. Viac: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_12_02.html
    6.11.2012 18:24 NN
    Rozbalit Rozbalit vše Re: Ochrana programu pred CTRL+C
    Mozna by stacilo to spustit na pozadi..
    6.11.2012 23:28 Arnošt Málek | skóre: 17
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    Pouzivam trap "" 2 20, takze to sem doplnim, at je tu primo "navod".
    7.11.2012 00:36 l4m4
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    Když něčemu pošlu SIGINT, tak to chci ukončit. Tudíž se to má korektně, leč neprodleně ukončit.

    Když to SIGINT ignoruje, následuje přirozeně SIGKILL, který už to ignorovat nemůže.

    Takže jediný výsledek postupu podle tvého návodu bude zabití programu s použitím hrubějšího násilí.
    7.11.2012 06:12 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    Přesně tak to je. Navíc softy, které záměrně ignorují SIGINT, jsou pěkně otravné :)
    7.11.2012 13:48 Arnošt Málek | skóre: 17
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    Mam to tak nastaveno ve skriptu, ktery se pouziva jako interpret ... a funguje to tak jak chci. Jak by to tedy melo byt spravne?
    martin-ux avatar 8.11.2012 12:33 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    niekedy je ale dobre, aby to neskoncilo hned, ale malo cas na ukoncenie. nie je problem spravit counter na ^c a po tretom stisknuti skoncit predcasne, ak je user o tom presvedceny.
    ..when you do things right, people won't be sure you've done anything at all..
    martin-ux avatar 8.11.2012 12:46 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: Ochrana programu před CTRL+C
    este som mohol pre autora prispevku dat kratku uzazku:
    #!/bin/sh
    
    SIGINT_TRAP_COUNTER=3
    
    handler_signit() {
            ((SIGINT_TRAP_COUNTER=$SIGINT_TRAP_COUNTER-1));
    
            if [ $SIGINT_TRAP_COUNTER -lt 1 ]; then
                    printf "debug: handler_signit: ending prematurely\n";
                    exit 1;
            fi
    
            printf "debug: handler_signit: doing cleanup ($SIGINT_TRAP_COUNTER)\n";
            sleep 4; # just a fake cleanup time
    
            exit 0;
    }
    
    trap handler_signit SIGINT
    
    while true ; do
            printf "main_loop: looping ...\n";
            sleep 5;
    done
    
    takto mas moznost odchytit ^c a davas moznost userovi skoncit ten script, ak to naozaj chce.
    ..when you do things right, people won't be sure you've done anything at all..

    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.