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 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Společnost Jolla na akci s názvem Jolla Love Day 2 - The Jolla comeback představila telefon se Sailfish OS 5.0 Jolla Community Phone (ve spolupráci se společností Reeder) a počítač Jolla Mind2 Community Edition AI Computer.

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | Nová verze

    LibreOffice 24.8 bude vydán jako finální v srpnu 2024, přičemž LibreOffice 24.8 Alpha1 je první předběžnou verzí od začátku vývoje verze 24.8 v prosinci 2023. Od té doby bylo do úložiště kódu odesláno 4448 commitů a více než 667 chyb bylo v Bugzille nastaveno jako opravené. Nové funkce obsažené v této verzi LibreOffice najdete v poznámkách k vydání.

    ZCR | Komentářů: 0
    21.5. 23:33 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 141 (pdf) a HackSpace 78 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.5. 21:22 | Nová verze

    Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.

    Ladislav Hagara | Komentářů: 2
    21.5. 12:55 | Nová verze

    Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    21.5. 01:11 | Nová verze

    Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    20.5. 21:55 | IT novinky

    Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 500 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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: 239×
    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.