abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:44 | Zajímavý článek

    Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Společnost BenQ uvádí na trh novou řadu monitorů RD určenou pro programátory. První z nich je RD240Q.

    Ladislav Hagara | Komentářů: 3
    dnes 13:00 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem nadále zůstává Frontier od HPE (Cray) s výkonem 1,206 exaFLOPS. Druhá Aurora má oproti loňsku přibližně dvojnásobný počet jader a dvojnásobný výkon: 1,012 exaFLOPS. Novým počítačem v první desítce je na 6. místě Alps. Novým českým počítačem v TOP500 je na 112. místě C24 ve Škoda Auto v Mladé Boleslavi. Ostravská Karolina, GPU

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 10:11 | Nová verze

    GHC (Glasgow Haskell Compiler, Wikipedie), tj. překladač funkcionálního programovacího jazyka Haskell (Wikipedie), byl vydán ve verzi 9.10.1. Přehled novinek v poznámkách k vydání.

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

    Po 9 týdnech vývoje od vydání Linuxu 6.8 oznámil Linus Torvalds vydání Linuxu 6.9. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    11.5. 18:22 | Nová verze

    Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    10.5. 19:11 | Nová verze

    Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 15
    10.5. 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    9.5. 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 22
    9.5. 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 61
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (70%)
     (7%)
     (11%)
     (12%)
    Celkem 205 hlasů
     Komentářů: 14, poslední dnes 15:03
    Rozcestník

    Dotaz: Ochrana programu před CTRL+C

    6.11.2012 17:15 jardA
    Ochrana programu před CTRL+C
    Přečteno: 555×
    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.