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 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    dnes 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    dnes 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

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

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 3
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

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

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

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

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 190 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: BASH a beh na pozadi

    19.9.2011 13:54 ext3fs
    BASH a beh na pozadi
    Přečteno: 416×
    ahoj, resim nesledujici problem:
    funkce(){
      for((;;))
        if pidof $1;
        then
          ...
        else
          return
      done
    }
    
    lzma -c sobor&
    funkce "lzma"
    ...
    
    Chova se to tak, ze skript neskonci, jako by se po ukonceni lzma nevratil z funkce k vykonani dalsiho kodu. Vite nekdo kde je problem?

    Odpovědi

    19.9.2011 14:21 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    az na tu neuplnost a chybi v syntaxi by to v principu melo fungovat:

    [root@f15-devel ~]# funkce(){ for((;;)); do if pidof $1 > /dev/null; then echo -n .; sleep 1; else return; fi; done } [root@f15-devel ~]# sleep 10& [1] 1272 [root@f15-devel ~]# funkce "sleep" ........[1]+ Done sleep 10 [root@f15-devel ~]#
    19.9.2011 14:22 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    ehh s/chybi/chyby/ :(
    19.9.2011 14:26 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    teda pokud tam treba tech lzma procesu neni vic, ono by bohate stacilo: sleep 10& wait
    19.9.2011 14:32 ext3fs
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    Nevim,ale tan muj skript vytuhne zde:
    --- SIGCHLD (Child exited) @ 0 (0) ---
    wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 11413
    wait4(-1, 0x7fff25cb3e1c, WNOHANG, NULL) = 0
    rt_sigreturn(0xffffffffffffffff)        = -1 EINTR (Interrupted system call)
    read(3,
    
    19.9.2011 14:37 ext3fs
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    Jinak original for vypada takto:
     for ((;;));
        do
            PID=$(pidof "$PK_BIN")
    
            if [ -n "$PID" ];
            then
                SIZE_C=$(stat $FILE_E --printf "%s")
                SPEED_B=$((SIZE_C-SIZE_P))
    
                if [ $SPEED_B -gt 1000000 ];
                then
                    SPEED=$(awk '{printf "%.1f MB/s", $SPEED_B/1000/1000}')
                elif [ $SPEED_B -gt 1000 ] && [ $SPEED_B -le 999999 ];
                then
                    SPEED=$(awk '{printf "%.1f KB/s", $SPEED_B/1000}')
                else
                    SPEED="$SPEED_B B/s"
                fi
    
                if [ $N -eq 10 ];
                then
                    test -t 1 && printf "    hotovo : %d byte z %d [%s]\r" $SIZE_C $SIZE_S $SPEED
                    N=0
                fi
                ((N++))
                SIZE_P=$SIZE_C
                sleep 0.1
            else
                SIZE_C=$(stat $FILE_E --printf "%s")
                test -t 1 && printf "    hotovo : %d byte [--] spracovano za %s\n" "$SIZE_S" "$(date +%M:%S -d @$(($(date +%s)-$TIME_S)))"
                
                break
                fi
        done
    ...
    
    19.9.2011 15:26 marek
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    Dobry den.

    Je nejaky duvod, proc posilate funkci jmeno procesu a ne jeho cislo?

    funkce(){
    while [ -d "/proc/$1" ] 
    do 
       .......
     
    done
    }
    
    lzma -c sobor&
    funkce $!
    
    

    Precejenom je vetsi pravdepodobnost, ze tam bude proces se stejnym jmenem, nez cislem.

    Marek

    19.9.2011 21:10 oiufoj
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    Zrejme je tam tech lzma v nazvech vic. Obecne bude veci nahody jestli to vrati spravny kod.

    Pokud to ma vykonat nejakou akci po skonceni programu je lepsi odchytavat SIGCHILD signal a navazat na to nejakou funkci pomoci trap. Naprosto nahodna linka ukazujici jak se to dela: Trap.
    20.9.2011 11:24 tonda
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    co se vlasne snazite udelat to funkci? jen pockat na dokonceni processu aby se nevytvoril zombie?
    20.9.2011 11:50 ext3fs
    Rozbalit Rozbalit vše Re: BASH a beh na pozadi
    Ne, ma to byt progressbar pro proces archivace souboru.

    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.