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

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

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

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

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

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

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

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

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

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

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

    Organizace Apache Software Foundation (ASF) vydala verzi 28 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
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 5
    14.11. 14:22 | Bezpečnostní upozornění

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 5
    14.11. 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (18%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 359 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Pythonský démon

    27.9.2005 10:46 | Přečteno: 1388×

    Python znamená anglicky nějakého hada, myslím že hroznýše. Taky to znamená věštec. Známe pojem pýthie, to je byla věštkyně v Delfách. Nebo ovšem hroznýška. Správná česká výslovnost Pythona asi bude [pýton]. [paitn] je taky správná, ale anglická. Pythona mám rád, napsal jsem si v něm démona. Mám tam takovéhle řádky:

    import os
    import signal
    import re
    import time
    import string
    import sys

    konrad = re.compile(r"\r*\n*$")
    pidfile = "/var/run/dozorce.pid"
    krok = 120 # interval mezi testy v s

    A o kousek dál tohle, aby se náhodou nespustil dvakrát:

    if os.path.exists(pidfile) :
       sou = open(pidfile,"r")
       r = sou.readline()
       sou.close()
       cislo = eval(konrad.sub("",r))

       try:
          os.kill(cislo,0)
       except OSError:
         # pidfile jsme stastne nasli, ale k nemu proces nebezi
         pass
       else:
         sys.stderr.write( "dozorce konci protoze proces %d uz bezi\n"%cislo )
       sys.exit(1)


    A potom ještě tohle, aby se z něj udělal démon: vytvořím synovský proces a udělám ho vedoucím seance, čímž se zároveň odpojí od tty. Hodilo by se ještě přesměrování stdin, stdout, stderr někam jinam než je tty, ale to se dá i ve startovní skriptu.



    # spustime se jako demon
    p = os.fork()
    if p > 0:
       os.waitpid(p,os.WNOHANG)
       sys.exit(0)
    elif p == 0:
       # jsem synovsky proces
       os.setsid()
       sou = open(pidfile,"w")
       sou.write("%s"%os.getpid())
       sou.close()
    else:
       sys.stderr.write( "dozorce nezdareny fork\n" )
       sys.exit(2)


    Načež si udělám nekonečný cyklus, vždycky udělám co potřebuju a dvě minuty počkám. Zatím potřebuju hlídat na serveru, jestli mi tam někdo nežere moc paměti. Když tak mu pošlu mail, když je to ještě horší, tak ho rovnou zabiju.

    Do crona jsem si dal


    33 * * * * kill -0 $(cat /var/run/dozorce.pid) || /etc/init.d/dozor start

    Možná je to zbytečné, třeba crona taky nerestartuju každou hodinu z crona. Ještě to nespadlo. Při zkušebním běhu jsem si dal nižší závoru a zabilo mi to X server , u kterého jsem zrovna seděl. Jojo, hlavně že to funguje.

           

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    27.9.2005 11:12 Dag | skóre: 25 | blog: bzuk
    Rozbalit Rozbalit vše python
    Python je latinské jméno pro krajtu. Hroznýš je Boa, i když ta podčeleď Boinae je hodně veliká, Anakonda je Boinae také jmenuje se Eunectes. A tak...
    To jen BTW, pokud, by to někoho zajímalo. Ale program se, myslím, jmenuje po Monthy Python. Ti ale mají jméno (pokud vím) po krajtě.(?)
    27.9.2005 11:42 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: python
    "Another important goal of the Python developers is making Python fun to use. This is reflected in the origin of the name (after the television series Monty Python's Flying Circus); in the common practice of using Monty Python references in example code; and in an occasionally playful approach to tutorials and reference materials." -- Wikipedia
    27.9.2005 12:09 Dag | skóre: 25 | blog: bzuk
    Rozbalit Rozbalit vše Re: python
    Jo, já tušil že po Monty Pythonech, ale mám pocit, že ti se zase jmenují po krajtě (ona se tam chlapcům vyskytovala na obrázcích). Ale ono je to vcelku putna. :-)
    27.9.2005 15:29 krnoha | skóre: 10 | blog: prizpevy
    Rozbalit Rozbalit vše Re: python
    "Another important goal of the Python developers is making Python fun to use. "

    Tak, tohle na mě dejchlo před deseti lety, když jsem se náhodou dostal ke skvěle udržovanému unixovému prostředí v CERN a nazdařbůh jsem napsal

    cd /usr/local/bin
    ls
    

    a viděl jsem tam něco, co vypadalo jako věštkyně. Občas je s ním vážně psina.

    27.9.2005 13:11 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Asi OK, ale
    Otestovat pomoci kill(pid, 0) zda dany PID bezi je zrejme dostatecne, ale PIDy se recyklujou. Ja ale beh demona testuju jinak:
        f = os.open (pidfile, os.O_RDWR | os.O_CREAT, 0644)
        try:
            fcntl.flock (f, fcntl.LOCK_EX | fcntl.LOCK_NB)
            # we're first!
            ...
        except IOError:
            # locked: already running
            pid = int (os.read (f, 5))
            sys.stderr.write ('%s is running, pid %d\n' % (app, pid))
            ...
    
    Táto, ty de byl? V práci, já debil.
    daemonize.py
    tato daemonizacia je podla mna trosku nazornejsia, ale inak celkom sympaticke.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.