[python] bash,signal

vepro p.zlamal na gmail.com
Pondělí Únor 18 12:19:06 CET 2013


Jen to urcite v pythonu. Ladim to zvlast. Z nejakeho duvodu je to ale 
zavisle na stroji. Na mem notebooku i prvni foto beha rychle, na 
"mericim" stroji to takhle drne. Na mericim stroji je ubuntu 10.04 s 
realtime kernelem, na mem stroji je to ubuntu 12.04. Chtel bych aby to 
bylo univerzalni na platformu, ale na 99% procent to pobezi prave na 
linuxu s real time kernelem. Diky kouknu na to

Petr

On 02/18/2013 12:07 PM, Honza Javorek wrote:
> Tak mě hlavně napadá, jestli jsi si jistý, kde je ta prodleva - jestli 
> je opravdu v tom Python skriptu. Kdyby byla prodleva v tom programu na 
> ovládání stolku, tak to tímto nevyřešíš.
>
> Jinak je to problém komunikace dvou procesů a to můžeš udělat různě. 
> Záleží jestli jsi na Windows nebo na nějakém *NIXu, ale možnosti jsou 
> celkem jasně dány: 
> https://en.wikipedia.org/wiki/Inter-process_communication Ty sis 
> vybral ten první řádek v tabulce, soubor. Můžeš použít signály, 
> sockety, ... ale tady je asi otázka co zvládne ten bash a co je trochu 
> overkill. Mě se asi nejvíc pro tvoje použití líbí signály. Stačí ti v 
> podstatě dva: "vyfoť" a "ukonči se". Ten první by byl nějaký 
> SIGUSR1/SIGUSR2, druhý normálně SIGTERM, který jde odchytit a skript 
> by se pak řádně ukončil.Z bashe je můžeš posílat myslím úplně 
> jednoduše pomocí kill.
>
> Honza
>
>
> 2013/2/18 vepro <p.zlamal na gmail.com <mailto:p.zlamal na gmail.com>>
>
>     Ahoj,
>     Rad bych se optal na vas nazor ci zpusob reseni nasledujici ulohy:
>
>      V pythonu mam naspanou jednoduchou proceduru pro vyfoceni snimku
>     na digitalni zrcadlovce. Tento skript chci vyuzit pro nasnimani
>     sekvence 360 snimku objektu na otocnem stolku. Aplikace ovladajici
>     stolek po kazdem otoceni spusti bashovsky skript, ktery v podstate
>     vola pythoni skript. Pythoni skript se spusti, vyfoti snimek,
>     ulozi a posleze se ukonci. Toto se tedy opakuje 360 krat. Problem
>     spociva v rychlosti obdrzeni jednoho snimku, ktery je cca 17s coz
>     je z hlediska vyuziti mnoho. Zjistil jsem, ze problem je v
>     porizeni prvniho snimku. Udelal jsem si testovaci smycku, kde je v
>     sekvenci vyfoceno nekolik snimku, pricemz prvni snimek trva onen
>     "obrovsky cas", ostatni snimky jsou relativne rychle do 2s. V mem
>     provedeni foceni jednoho snimku ve skriptu je tedy kazdy snimek
>     "prvni" a tudiz onech 17s. Napadlo me tedy neresit snimek jako
>     jednorazovy skript: spust-vyfot-uloz-skonci ale v podobe
>     "nekonecne" smycky, ktera by testovala pritomnost predem daneho
>     "nuloveho" souboru. Pokud by soubor existoval, udelal by se snimek
>     a nasledne by se smazal  "nulovy" soubor. Aplikace ovladajici
>     stolek by pak jenom vytvarela onen "nulovy" soubor v pripade
>     potreby udelani snimku. Ukonceni pythoniho sriptu by pak bylo
>     provedeno pres test nejakeho jineho "nuloveho" souboru. Takto to
>     bude pravdepodobne plnit muj ucel, ale zajimalo by me zda existuje
>     elegantnejsi reseni napr. v podobe posilani nejakych signalu z
>     bashe do pythonu.
>
>     Diky za pripadne rady
>     Petr
>     _______________________________________________
>     Python mailing list
>     Python na py.cz <mailto:Python na py.cz>
>     http://www.py.cz/mailman/listinfo/python
>
>
>
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20130218/e56bcdbc/attachment.html>


Další informace o konferenci Python