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 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    dnes 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 11
    dnes 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 12
    včera 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 11
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

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

    Dotaz: presmerovani vystupu do souboru

    Pavel Dobeš avatar 14.2.2007 11:15 Pavel Dobeš | skóre: 21 | Praha
    presmerovani vystupu do souboru
    Přečteno: 2461×
    Zdravim,

    mam aplikaci, ktera pada (je zabita kernelem, nahodne se ukoncuje atp.) a chtel jsem presmerovat vsechny jeji hlasky do souboru s datem startu + jeji znovuspusteni...

    udelal jsem jednoduche
    while(true);do
    dat=`date +%F_%R:%S.%N.log`
    ./prikaz > ./log_soubory/$dat
    done
    
    informace po spusteni se jiz nevypisuji, takze presmerovani funguje.

    Problem je ten, ze se nic do souboru nezapise.

    Zkousel jsem to obejit treba pomoci
    obsah=`./prikaz`
    echo $prikaz > ./log_soubory/$dat
    
    ale to taktez nevedlo k cili. Nevite jak udelat presmerovani, aby zapisovalo do souboru okazmite a nektere vypisy programu se neztracely?

    Diky PaD
    Windows? A kdo to ještě používá?

    Odpovědi

    14.2.2007 11:19 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: presmerovani vystupu do souboru

    Nejspíš je problém v tom, že jste tam nepřesměroval chybový výstup. Takže

      ./prikaz >log_soubory/$dat 2>&1
    
    Pavel Dobeš avatar 14.2.2007 11:33 Pavel Dobeš | skóre: 21 | Praha
    Rozbalit Rozbalit vše Re: presmerovani vystupu do souboru
    ja chybovy vystup NECHCI logovat. Ja chci logovat to, co se vypiisuje na std vystup - tj cinnost programu.

    A navic, pokud by to generovalo chybovy vystup, tak bych videl, ze neco nepresmerovavam, protoze se chybovy vystup na konzoli vypisuje take.
    Windows? A kdo to ještě používá?
    14.2.2007 11:39 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: presmerovani vystupu do souboru
    Nebude lepšie použiť príkaz tee? Aspoň bude vidieť, či sa na stdout niečo vypisuje.
    ./prikaz | tee ./log_soubory/$dat
    14.2.2007 11:52 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: presmerovani vystupu do souboru
    V tom případě děláte chybu někde jinde než v tom, co jste popsal. Vznikne ten soubor vůbec?
    14.2.2007 12:27 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: presmerovani vystupu do souboru
    A vytvoří se vůbec nějaké logy? Zkus toto, to by zaručeně logy mělo založit, pokud je vše v pořádku.
    #!/bin/bash
    while true; do
      Log=./log_soubory/`date +%F_%R:%S.%N`.log
      echo "=== Log: $Log" >> $Log
      ./prikaz >> $Log
    done
    
    14.2.2007 13:13 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: presmerovani vystupu do souboru
    Jestliže máš možnost zasáhnout do zdrojáku té aplikace, pak je nutno zabránit bufferování jejího standardního výstupu, jinak není možné v sledovat co se děje (bude to opožděné).
    Ten logovací program bych napsal asi takto:
    #!/usr/bin/env python
    import subprocess, time
    logfile = file('logfile', 'w')
    prikaz = ['./first.py']
    count = 0
    while True:
        count += 1
        cmd = subprocess.Popen(prikaz, stdout = subprocess.PIPE)
        logfile.write(time.ctime() + ': restart %d\n' %count)
        while True:
            line = cmd.stdout.readline()
            if not line: break
            logfile.write(time.ctime() + ': ' + line)
            logfile.flush()
    
    Vytváří pouze jeden log (přišlo mi to rozumnější) a každý řádek je označený datem a časem - zkrátka jako normální logy. Do logu se zapíšou i události o restartu, přičemž restarty se číslují.
    S tím průběžným vypisováním a bufferováním je dost problém. Už se to řešilo tady:
    http://www.abclinuxu.cz/forum/show/136974#13

    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.