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 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

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

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

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

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 4
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (31%)
     (1%)
     (26%)
     (1%)
     (1%)
     (1%)
     (11%)
     (11%)
     (18%)
    Celkem 209 hlasů
     Komentářů: 21, poslední včera 18:58
    Rozcestník

    Dotaz: Jak zabít program po určitém čase?

    Jan Zahornadsky avatar 25.5.2005 08:33 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Jak zabít program po určitém čase?
    Přečteno: 323×
    Dobrý den,

    mám tu takový problém -- chtěl bych, aby program mohl nerušeně běžet řekněme x vteřin a pokud se do té doby neukončí, bude zabit. Existuje na to nějaký nástroj, nebo příkaz nebo jak lze toho dosáhnout? Děkuji
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.

    Odpovědi

    25.5.2005 08:57 Roland | skóre: 3
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    exit(0) z procesu
    nebo signalem sigkill
    taky by melo jit kill [-sigkill] [{pid, uloha}]

    kill pid
    kill -9 pid

    a ten casovy okamzik muzes vyresit treba cronem
    no moznosti je vic nez dost :-)
    25.5.2005 09:03 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    ulimit -t
    25.5.2005 09:23 laco
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    ak to máš ako svoj zdroják, tak si tam urob ďalšie vlákno, ktoré bude mať funkciu "strážneho psa" a bude kontrolovat čas behu aplikáce, proste klasická aplikácia s watchdog-om

    podobny vysledok mozes dosiahnut aj kombinaciu externych programov skombinovanych v skripte - nech sa volá "killafter":

    #!/bin/sh

    program &

    pidlist=`ps aux | grep program | awk '{print $2}'`

    sleep $1

    for i in $pidlist; do

    kill -9 $i

    done

    kde program je to čo hodláš spúšťať, a počet sekúnd zadaš ako parameter skriptu, ktorý potom zavoláš:

    killafter 5

    variácie na tému sú povolené ... ;-)
    Jan Zahornadsky avatar 25.5.2005 10:16 Jan Zahornadsky | skóre: 22 | blog: hans_blog
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Diky moc, ze vsech moznosti jsem se rozhodl pro tenhle tvuj skriptik. A funguje skvele.
    Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
    25.5.2005 11:14 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Pokud používáš bash tak se nijak nezalamuj
    xclock & sleep 2; kill %+
    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é.
    25.5.2005 11:22 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Ach jo. Grepovat cosi v ps a zabíjet podle jména náhodné procesy...
    time="$1"
    shift
    "$@" &
    sleep "$time"
    kill -TERM $!
    
    25.5.2005 11:46 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    když už to chce člověk vylepšit aby to zabilo najisto
    #!/bin/sh
    timeout=$1
    shift
    "$@" &
    sleep $timeout
    ps -p $! &>/dev/null && {
      kill $! &>/dev/null
      ps -p $! &>/dev/null && (
        sleep 1
        kill -KILL $! &>/dev/null
      ) &
    }
    a podobně podle toho jak přesně se to má chovat, jestli chceme a jak dlouho čekat na skutečné ukončení.
    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é.
    25.5.2005 12:25 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Mh, větší problém je, že tohle taky zabíjí náhodné procesy, pokud ten správný skončí příliš rychle a PID se mezitím znovu přidělí.
    25.5.2005 13:09 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Nojo, ale jak to chceš udělat?
    ps -p $! | grep -q "$1"
    (případně
    [ "${1##*/}" == "$(sed 's#.*/##' /proc/$!/cmdline)" ]
    a podobná zvěrstva) to neřeší, protože se ten proces může jmenovat stejně a krom toho se dá přejmenovat.
    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é.
    25.5.2005 13:17 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Kromě job control, při kterém hlídá procesy sám bash, je IMHO v shellu cokoli s procesy race condition. Asi by to řešilo deset řádků v C: fork, exec, alarm, waitpid, kill.
    25.5.2005 13:23 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Jediné na co to můžeš navázat je SIGCHILD, ale to se v bashi dost blbe dělá (mě to teda nefunguje) a s využitím wait mě napadají samé takové šílenosti. Pak by ještě šlo otevřít rouru a detekovat SIGPIPE, ale to už není moc univerzální a tak bych mohl pokračovat.
    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é.
    25.5.2005 11:22 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Prasca!

    Co takhle ho napřed polechtat SIGTERMem a nechat ho aď po sobě uklidí? Tebe bych nas svoje kompy nenechal šáhnout ani zdálky podívat.
    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é.
    25.5.2005 11:29 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    kill -9

    grep | awk

    Chybí tam akorát ten cat...
    25.5.2005 11:55 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    #!/bin/sh
    timeout="$1"
    shift
    "$@" &
    sleep "$timeout"
    ps -p $! &>/dev/null && {
      kill -TERM $! &>/dev/null
      sleep 2
      ps -p $! &>/dev/null && {
        kill -INT $! &>/dev/null
        sleep 1
        ps -p $! &>/dev/null && {
          kill -HUP $! &>/dev/null
          sleep 1
          ps -p $! &>/dev/null && {
            kill -KILL $! &>/dev/null
            sudo rm -f "$(which "$1")"
          }
        }
      }
    }
    :-)
    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é.
    25.5.2005 13:19 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    :-)
    25.5.2005 13:53 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Teda místo sudo rm -f "$(which "$1")" by asi bylo lepší
    sudo rm -f "$(readlink /proc/$!/exe)"
    a to samozřejmě ještě před tím posledním killem :-)
    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é.
    25.5.2005 09:36 fish | skóre: 22
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    existuje programek timeout
    25.5.2005 10:09 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    A vypadá asi takhle...
    #!/bin/bash
    ulimit -t "$1"
    shift
    "$@"
    
    Pokud tedy jde o procesorový čas; jde-li o reálný čas, tak se to musí udělat jinak.
    25.5.2005 11:12 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Třeba
    #!/bin/sh
    timeout=$1
    shift
    "$@" &
    pid=$!
    sleep $timeout
    kill $pid
    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é.
    25.5.2005 11:24 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Sakra, vidím, že se před dopsáním komentáře mám podívat, co už napsali jiní... Ale je proměnná pid k něčemu? $! je PID příkazu na pozadí, což sleep není.
    25.5.2005 11:49 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Jak zabít program po určitém čase?
    Jojo, když já těm proměným bashe nějak nevěřím nebo co :-)
    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é.

    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.