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

    Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.

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

    Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

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

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    dnes 13:11 | IT novinky

    Společnost OpenAI oznámila [𝕏], že ukončí aplikaci Sora pro generování krátkých videí pomocí umělé inteligence. Podrobné informace a harmonogram pro aplikaci a API budou brzy zveřejněny.

    Ladislav Hagara | Komentářů: 6
    dnes 12:22 | IT novinky

    Evropská směrnice NIS2 přináší nové požadavky v oblasti kybernetické bezpečnosti, které se promítají také do správy doménových jmen. Do českého právního řádu je směrnice implementována prostřednictvím nového zákona o kybernetické bezpečnosti. Jedním z praktických důsledků této legislativní změny je posílení požadavků na dostupnost a správnost kontaktních údajů držitelů domén. Správce registru domény .cz, sdružení CZ.NIC, je v

    … více »
    Ladislav Hagara | Komentářů: 26
    dnes 01:55 | Nová verze

    Jonathan Thomas oznámil vydání nové verze 3.5.0 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

    Ladislav Hagara | Komentářů: 2
    dnes 00:55 | Nová verze

    Byla vydána (𝕏, Bluesky) nová verze 2026.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 8 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | IT novinky

    Vláda jmenovala novým zmocněncem pro digitalizaci a strategickou bezpečnost prvního náměstka ministra vnitra Lukáše Klučku. Ten ve funkci nahradil poslance Roberta Králíčka poté, co Králíček na tento post vládního zmocněnce rezignoval. Klučka chce do roka digitalizovat všechny státní služby tak, aby vyhověly zákonu o právu na digitální služby, přičemž dosavadní plán Fialovy vlády počítal s dokončením digitalizace až někdy v roce

    … více »
    NUKE GAZA! 🎆 | Komentářů: 11
    včera 13:55 | Nová verze

    Byl vydán Mozilla Firefox 149.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně, zobrazení dvou webových stránek vedle sebe v jednom panelu (split view) nebo možnost přidat poznámky k panelům (Firefox Labs). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 149 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 6
    včera 13:22 | Nová verze

    Byly vydány nové verze 5.3.0 a 6.0.0 svobodného multiplatformního programu pro skicování, malování a úpravu obrázků Krita (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Obě verze vycházejí ze stejného zdrojového kódu – rozdíl je v použitých verzích Qt a KDE Frameworks. Krita 6.0.0 je první vydání postavené na Qt 6 a stále je považovaná za experimentální. Má lepší podporu Waylandu. Přináší podporu protokolu Wayland

    … více »
    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1150 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Python otevření | pípy

    28.6.2009 17:36 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Python otevření | pípy
    Přečteno: 656×
    Mám problém s otevřením | pípy v Pythonu:
    os.mkfifo('/tmp/.powerman_fifo');
    self.pipe=os.open('/tmp/.powerman_fifo', os.O_WRONLY|os.O_NONBLOCK);
    
    Když spustím tento kód, tak mi to hlásí:
    Traceback (most recent call last):
      File "/media/JOOMLADEV/eclipse-src/python/PowerMan/src/powermangui.py", line 160, in <module>
        pg=PowerManGui();
      File "/media/JOOMLADEV/eclipse-src/python/PowerMan/src/powermangui.py", line 15, in __init__
        self.pipe=os.open('/tmp/.powerman_fifo', os.O_WRONLY|os.O_NONBLOCK);
    OSError: [Errno 6] No such device or address: '/tmp/.powerman_fifo'
    
    Přitom ta pipe existuje:
    ls -al /tmp/.powerman_fifo 
    prw-r--r-- 1 bartmann bartmann 0 2009-06-28 17:33 /tmp/.powerman_fifo
    

    Nevíte kde dělám chybu?

    Za rady předem děkuji.

    Odpovědi

    28.6.2009 18:31 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: Python otevření | pípy

    man 7 fifo říká tohle:

    A process can open a FIFO in non-blocking mode. In this case, opening for read only will succeed even if no-one has opened on the write side yet; opening for write only will fail with ENXIO (no such device or address) unless the other end has already been opened.

    OSError 6 je opravdu ENXIO:

    >>> import errno
    >>> errno.ENXIO
    6
    
    29.6.2009 08:03 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    Rozbalit Rozbalit vše Re: Python otevření | pípy
    Tak jsem o kousek pokročil:
    self.state=os.read(self.pipe, 1000);
    OSError: [Errno 11] Resource temporarily unavailable
    

    Přitom na mám rouru v rodiči otevřenou a v dokumentaci jsem vyčetl, že při čtení z neblokující roury má vrátit 0 bytů.

    Postupuju, tak že si nejprve vytvořím instanci třídy PowerMan, v jejímž konstruktoru otvírám PIPU pro čteční, následně otevírám rouru pro zápis, volám fork() a v potomkovi volám metodu PowerMan.run, kde ve while 1: z roury čtu:

    if os.path.exists('/tmp/.powerman_fifo')==False:
    			os.mkfifo('/tmp/.powerman_fifo');
    		pm=powerman.PowerMan();
    		self.pipe=os.open('/tmp/.powerman_fifo', os.O_WRONLY|os.O_NONBLOCK);
    		self.state=True;
    		pid=os.fork();
    		if pid==0:
    			pm.run();
    
    Metoda run() třídy PowerMan:
    def run(self):
    		while 1:
    			self.state=os.read(self.pipe, 1000);
    			print self.state;
                            #Zpracovat obsah PIPE
    			if self.quit==True:
    				break;
    			if self.state==True:
    				self.get_idle();
    				self.get_idle_workaround();
    				if int(self.idle)>=int(self.stime):
    					pid=os.fork();
    					if pid==0:
    						self.idle=0;
    						os.execl(self.prog);
    					else:
    						os.wait();
    			time.sleep(1);
    
    29.6.2009 10:37 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: Python otevření | pípy

    Jestli jde jen o komunikaci rodičovského procesu s potomkem, není k tomu potřeba named pipe. Taková jednoduchá jednosměrná komunikace:

    import fcntl, os, time
    
    (rd, wr) = os.pipe()
    
    if os.fork() == 0:
    	os.close(wr)
    	fcntl.fcntl(rd, fcntl.F_SETFL, os.O_NONBLOCK)
    	print 'child: waiting for input'
    	while True:
    		try:
    			data = os.read(rd, 1000)
    			if data:
    				print 'child: received:', data
    		except OSError:
    			pass
    else:
    	os.close(rd)
    	while True:
    		data = raw_input('parent:> ')
    		os.write(wr, data)
    		time.sleep(.3) # aby se nesleval vystup potomka s rodicem
    

    Ukázka:

    $ python pipe.py
    child: waiting for input
    parent:> hello
    child: received: hello
    parent:> how are you?
    child: received: how are you?
    parent:>                         
    

    OSError 11 je v pořádku, je to obyčejné EAGAIN/EWOULDBLOCK (viz www.gnu.org/s/libc/manual/html_node/Error-Codes.html#index-EAGAIN-97).

    18.1.2010 16:16 Marcel
    Rozbalit Rozbalit vše Python
    Zdravím pánové, již je sice pozdě a asi nebudu přímo k věci, ale chtěl bych zde uvést svůj web pro další návštěvníky, kde jsem rozebíral základy této problematiky.

    Na webu http://networks.ic.cz průběžně aktualizuji věci které se týkají programování a webu a v sekci Python rozebírám jednotlivé moduly. Takže se kdyžtak mrkněte

    Modul subproces

    Modul fcntl

    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.