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

    Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.

    Ladislav Hagara | Komentářů: 3
    včera 22:22 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.

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

    Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 210. sraz, který proběhne 20. června od 18:00 v Red Hat Labu na Fakultě informatiky Masarykovy univerzity na adrese Botanická 68A nebo také online.

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

    Byla vydána nová verze 17 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.05.0. Přehled novinek v poznámkách k vydání. Nově je implementováno standardizované simulační rozhraní ROS (Robot Operating System) 2.

    Ladislav Hagara | Komentářů: 0
    17.6. 22:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.17 a Xwayland 24.1.7 řeší 6 bezpečnostních chyb: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, CVE-2025-49178, CVE-2025-49179 a CVE-2025-49180. Nils Emmerich je nalezl koncem března a dnes publikoval detaily.

    Ladislav Hagara | Komentářů: 0
    17.6. 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.4 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    17.6. 10:11 | Komunita

    UN Open Source Week 2025 probíhá tento týden v sídle Organizace spojených národů v New Yorku. Středeční a čtvrteční jednání bude možné sledovat na UN Web TV.

    Ladislav Hagara | Komentářů: 1
    17.6. 03:55 | Nová verze

    Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (30%)
     (7%)
     (2%)
     (0%)
     (1%)
     (4%)
    Celkem 282 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: BASH a beh na pozadi

    19.9.2011 13:54 ext3fs
    BASH a beh na pozadi
    Přečteno: 403×
    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.