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 22:33 | Nová verze

    Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 1
    včera 14:33 | Nová verze

    Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.

    Ladislav Hagara | Komentářů: 8
    včera 13:44 | Pozvánky

    Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.

    Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »
    bkralik | Komentářů: 0
    včera 04:44 | Zajímavý software

    Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.

    Ladislav Hagara | Komentářů: 1
    včera 02:00 | IT novinky

    Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    9.6. 21:44 | IT novinky

    Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …

    Ladislav Hagara | Komentářů: 1
    9.6. 20:44 | Komunita

    Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.

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

    Po roce byla vydána nová stabilní verze 25.6.0 svobodného multiplatformního multimediálního přehrávače SMPlayer (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    9.6. 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 20
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 242 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Vypnutie PC ak proces je STOP

    20.4.2005 17:43 | Přečteno: 1543× | bash | poslední úprava: 21.4.2005 04:16

    #!/bin/bash
    #
    # Oprava popisu dakujem!
    # Vypnutie PC ak skonci kodovanie v avidemuxe
    # Verzia 0.1
    #
    # Namiesto avidemux mozno zvolit aj iny soft
    ########################################################
    # Priklad uplatnenia:
    # Spustite Avidemu, Kino, Cinelerru a iny soft co 
    # trva niekolko hodin. Je to domace PC a chcem ked 
    # sa dokkonci proced aby sa pocitac vypol.
    # Tak na to sluzi tento skriptik. V diskusii je aj
    # riesenie priamo pozerat na zataz CPU.
    ########################################################
    #
    
    
    soft="avidemux" #ktory soft sa ma kontrolovat
    
    echo "Vypnutie PC na zaklade behu aplikacie:" $soft
    ideto=$(ps aux | fgrep $soft | fgrep -v grep | cut -d ' ' -f 21)
    if [ "$ideto" != "R" ]; then
            echo "Program ani nebezi!"
            exit 1
    fi
    until [ "$ideto" == "S" ]; do
            sleep 5 # staci pozriet raz za 5 sekund
            ideto=$(ps aux | fgrep $soft | fgrep -v grep | cut -d ' ' -f 21)
    done
    echo "Program uz nebezi este cakam 60 sekund."
    sleep 60        #este pockaj minutu
    ideto=$(ps aux | fgrep $soft | fgrep -v grep | cut -d ' ' -f 21)
    if [ "$ideto" == "S" ]; then
            echo "Vypinam Pocitac!!!"
            # sudo shutdown -h now
    fi
    exit 0
    
           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    20.4.2005 17:52 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše ...
    ... aneb jak jednoduché věci dělat složitě :-)
    20.4.2005 17:54 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ...
    No ako napr. jednoduchsie rad sa necham inspirovat.
    20.4.2005 18:02 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: ...
    spustim program a jakmile skonci tak vypnu pocitac:

    program && sudo shutdown -h now
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    20.4.2005 18:19 Ondřej Čečák | skóre: 33
    Rozbalit Rozbalit vše Re: ...
    Presne takhle to delam take; pokud by byl misto && strednik, tak pri ukonceni napr. pomoci ctrl+c se to vypne, takhle ne.

    Jak na to tak koukam, tohle neresi situaci, kdy uz je program spusteny ...
    -- "Ja vim, on vi, ty pico!"
    wake avatar 20.4.2005 18:36 wake | skóre: 30 | blog: wake | Praha
    Rozbalit Rozbalit vše Re: ...
    wait `pidof program` && sudo halt tralala tralalalala...
    Tento příspěvek má hlavičku i patičku!
    20.4.2005 19:39 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: ...
    Skste si pozorne precitat o co islo. Toto nie je riesenie ked uz je program spusteny v Xkach. Najskor treba zistit ci ide. A ak nie tak ptom vypnut PC.

    Uz to tu opakujem asi 5x
    20.4.2005 20:08 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: ...
    # Vypnutie PC ak skonci urcity program

    o tohle přece šlo, ne? Příště zkus napsat o co jde hned na začátek a ne do až do diskuze.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    wake avatar 20.4.2005 18:03 wake | skóre: 30 | blog: wake | Praha
    Rozbalit Rozbalit vše Re: ...
    napr takhle
    Tento příspěvek má hlavičku i patičku!
    20.4.2005 18:48 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše To samé co dělá ten váš skript ,ale na jeden řádek :-)
    while true; do
     top -d5 -b -n2 -p `/sbin/pidof avidemux2` |\
     grep -q ' 0\.0 .* avidemux2' && echo 'Nebezi!';
    done
    
    Správné řešení je samozřejmě spouštět v avidemux skript...
    20.4.2005 19:46 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    To je pravda (mne to vypisuje top: bad pid 'pidof avidemux' ), ale zistis ci je spusteny alebo nie. No my potrebujem ci koduje video alebo nie.

    Jasne?

    Inak pekne si to napisal.
    20.4.2005 20:04 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Jsem líný to podrobněji zkoumat, ale předpokádám, že finta je v tom, že když avidemux kóduje, tak ho top vypíše nahoře, jinak ho vypíše někde vespod.
    20.4.2005 21:05 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Finta měla být v tom, že 0.0 v tom regexpu je vytížení procesoru :-) Ale nejsem jistej, že jestli nemůže být 0.0 i když běží... Asi ne.

    Další finta byla v tom, že tom sleduje jen ten jeden konkrétní proces. Pokud by jich bylo víc, šlo by to přes xargs, dokonce jsem to tu měl, ale vypnuli mi elektriku, takže za domácí úkol...

    Další finta je v tom, že sleep mezi jednotlivými testíky nechám taky dělat ten top :-)
    20.4.2005 22:45 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Finta měla být v tom, že 0.0 v tom regexpu je vytížení procesoru
    Nj, aspoň jednou jsem si to přečíst mohl.. ;-)
    21.4.2005 04:10 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Takto to je: Ak bezi kodovanie je okolo 97-100% a ak dokoncil tak je tam 0.0 takze tento skript funguje ako ma.

    Takto tu urobime uplne dokonaly skript na vypinanie kodovania videa, este k tomu nejaky GUI a je dalsi dobry softik na svete.
    20.4.2005 21:14 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    1. protože 'pidof avidemux' je něco jiného než `/sbin/pidof avidemux2` (hlavně ty apostrofy jsou "naopak")

    2. nezjišťuji, jestli je spuštěný, ale jestli zatěžuje procesor na víc než 0.0 :-) když není spuštěný, tak neprojde ten pidof a pak to spadne, což sice nemám ošetřené, ale...
    20.4.2005 21:21 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Pravda, pidof je něco úplně jiného než /sbin/pidof ;-)
    $ pidof firefox-bin
    28556
    $ /sbin/pidof firefox-bin
    bash: /sbin/pidof: No such file or directory
    
    20.4.2005 21:38 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Hm, to je celkem jedno, spíš měl kolega blbě ty apostrofy...
    [ivok@zero ~]$ pidof mozilla-firefox-bin
    bash: pidof: command not found
    [ivok@zero ~]$ /sbin/pidof mozilla-firefox-bin
    5669
    
    21.4.2005 04:05 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    To mas pravdu ale ziadny proces avidemux2 nebezi ale vola sa avidemux a pidof je v /bin a nie v /sbin ale to je jedno asi zalezi na distre. Preto som to tam dal bez cesty.

    Takze takto:
    ~$ top -d5 -b -n1 -p '/bin/pidof avidemux'
            top: bad pid '/bin/pidof avidemux'
    
    ale
    
    ~$ top -d5 -b -n1 -p $(/bin/pidof avidemux)
    
    top - 03:54:47 up  6:22,  8 users,  load average: 1.00, 0.94, 0.63
    Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
    Cpu(s): 14.2% us,  0.8% sy,  0.0% ni, 83.8% id,  0.8% wa,  0.3% hi,  0.1% si
    Mem:    905896k total,   874800k used,    31096k free,    92460k buffers
    Swap:  2441872k total,     2796k used,  2439076k free,   419580k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    18078 jj        25   0 97212  40m 9716 R 99.9  4.6  12:35.22 avidemux
    
    a nie je lepsie to volat takto? Co je na tomto zle?:
    ~$ top -d5 -b -n1 | grep avidemux
    18078 jj        25   0 97212  40m 9716 R 94.8  4.6  14:44.15 avidemux
    
    A ak to dam ako celok tak takto mi to funguje super:
    #!/bin/bash
    while true; do
      top -d5 -b -n1 | grep avidemux | \
      grep -q ' 0\.0 .* avidemux' && echo 'Nebezi!';
    done
    
    21.4.2005 09:04 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    OK, cesty a názvy záleží na distribuci (mám ehm ehm Mandrivu).

    Vyhodil jste z toho to uspávání (-d5 -n2), takhle se ten top pouští zbytečně často, ale to je celkem asi drobnost (no můžete si vyzkoušet, jestli to negeneruje zbytečnou zátěž, což zrovna v případě kódování videa může vadit). Tím, že sleduju jenom konkrétní procesy (-p), taky snižuju zátěž generovanou top-em...

    Ty dva grepy za sebou jsem nepochopil, to vypadá na nějakou vaši úchylku (soudě už podle toho původního skriptu) :-)
    21.4.2005 13:20 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    $ ps aux | fgrep avidemux
    jj       28715 46.5  6.7 105284 61020 ?      Ss   05:49 209:01 /usr/bin/avidemux
    $ ps aux | fgrep avidemux
    jj       28715 46.5  6.7 105284 61020 ?      Ss   05:49 209:01 /usr/bin/avidemux
    jj       12145  0.0  0.0  2236  520 pts/3    R+   13:18   0:00 grep -F avidemux
    x
    
    proste chyti sam seba preto ten druhy grep, ale urcite sa to da riesit nejakym prepinacom. Len som sa zatial nepozrel akym.

    grep -v odfiltruje aj prvy grep kedze je tam slovo avidemux.
    21.4.2005 15:10 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    Třeba
    ps ... | grep '[a]videmux'
    
    22.4.2005 00:00 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    OK opravim to. V jednoduchosti je sila.
    22.4.2005 00:03 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: To samé co dělá ten váš skript ,ale na jeden řádek :-)
    OK, ale ako na premennej? Je tam $soft.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.