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 17:44 | Nová verze

    Byl vydán Mozilla Firefox 156.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vestavěný prohlížeč PDF se nyní spouští o 45 % rychleji. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 156 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | Nová verze

    Článek na Raspberry Pi představuje nový vzhled desktopu operačního systému Raspberry Pi OS v aktuálním vydání 2026-09-15.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Bezpečnostní upozornění

    Nové verze Roundcube Webmailu 1.6.19 a 1.7.4 řeší několik zranitelností.

    vencour | Komentářů: 0
    dnes 11:44 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.

    Ladislav Hagara | Komentářů: 2
    dnes 03:33 | Nová verze

    Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.

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

    OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | IT novinky

    Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.

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

    Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.

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

    Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 7.0.0. Pro sandboxing se na Linuxu nově používá Landlock místo Bubblewrap. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2673 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 2677×
    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: 71 | 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: 71 | 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.