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 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
    včera 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ářů: 0
    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ářů: 8
    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 1696 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 339×
    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.