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 04:00 | Zajímavý článek

    Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."

    Ladislav Hagara | Komentářů: 1
    dnes 00:22 | Nová verze

    Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

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

    Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.

    Fluttershy, yay! | Komentářů: 4
    včera 12:00 | Nová verze

    Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

    Pavel Křivánek | Komentářů: 1
    včera 04:00 | IT novinky

    Java má dnes 30. narozeniny. Veřejnosti byla představena 23. května 1995.

    Ladislav Hagara | Komentářů: 7
    22.5. 21:55 | IT novinky

    1. července Mozilla vypne službu Fakespot pro detekci podvodných recenzí v internetových obchodech. Mozilla koupila Fakespot v květnu 2023.

    Ladislav Hagara | Komentářů: 1
    22.5. 21:33 | IT novinky

    8. července Mozilla vypne službu Pocket (Wikipedie) pro ukládání článků z webu na později. Do 8. října si uživatelé mohou vyexportovat data. Mozilla koupila Pocket v únoru 2017. Několik měsíců byl Pocket integrovanou součástí Firefoxu.

    Ladislav Hagara | Komentářů: 5
    22.5. 13:22 | Upozornění

    Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.

    Ladislav Hagara | Komentářů: 4
    Jaký je váš oblíbený skriptovací jazyk?
     (58%)
     (27%)
     (6%)
     (3%)
     (0%)
     (0%)
     (5%)
    Celkem 93 hlasů
     Komentářů: 6, poslední 22.5. 14:43
    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.