Re: [python] multiprocess a subprocess
Petr Messner wrote: > Předpokládám, že místo foo() je myšleno spouštění webového serveru přes Popen > z bar(). Mě tento kód funguje, příkaz se spustí. Asi bude chyba někde jinde. > Často pomůže podívat se přes strace, co to vlastně dělá (myslím příkaz strace > v Linuxu nebo něco podobného v jiných OS). Raději sem ale pošlete větší kus > zdrojového kódu, nebo vysvětlete, o co se snažíte, webový server se v Pythonu > dá spustit i jednoduššími způsoby. > No spoustim web2py, s tim ze je to zbytecne slozite souhlasim. > Jinak by bylo pěkné k ukázce kódu doplnit i příslušné importy, aby se kód dal > co nejsnáze spustit a vyzkoušet. import os, pwd, sys from multiprocessing import Process, Manager, Queue from subprocess import Popen, PIPE Napadlo me jestli nebude problem s p.communicate() ale v tom problem nebyl. > > PM > > On 16.4.2010, at 23:56, Tomas Pelka wrote: > >> Zdravim, >> >> mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni >> jiste otazkou chvilky. Pokousim se o nasledujici: >> >> >> def foo(q): >>print os.getuid() >>while True: >>pass >> >> def bar(): >>os.setuid(NEJAKE_EXISTUJICI_UID) >>if not CESTA_K_HOME in sys.path: >>sys.path.append(CESTA_K_HOME) >>os.chdir(CESTA_K_HOME) >>cmd = "prikaz spouztejici web server" >>p = Popen(cmd, shell=True, stdout=PIPE) >>p.communicate() >> >> >> if __name__ == "__main__": >># fronta neni prozatim dulezita >>workQueue = Queue() >> >>bar_proc = Process(target=bar, args=()) >>foo_proc = Process(target=foo, args=(workQueue,)) >> >>foo_proc.start() >>bar_proc.start() >> >>foo_proc.join() >>bar_proc.join() >> >> >> Problem je ten ze webovy server z foo() nebezi i kdyz python rika >> (foo_proc.is_alive()), ze proces bezi. >> >> Kde delam neustale chybu? >> >> Diky za odpovedi. >> >> -- >> Tom >> >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python -- Tom ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] multiprocess a subprocess
Předpokládám, že místo foo() je myšleno spouštění webového serveru přes Popen z bar(). Mě tento kód funguje, příkaz se spustí. Asi bude chyba někde jinde. Často pomůže podívat se přes strace, co to vlastně dělá (myslím příkaz strace v Linuxu nebo něco podobného v jiných OS). Raději sem ale pošlete větší kus zdrojového kódu, nebo vysvětlete, o co se snažíte, webový server se v Pythonu dá spustit i jednoduššími způsoby. Jinak by bylo pěkné k ukázce kódu doplnit i příslušné importy, aby se kód dal co nejsnáze spustit a vyzkoušet. PM On 16.4.2010, at 23:56, Tomas Pelka wrote: > Zdravim, > > mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni > jiste otazkou chvilky. Pokousim se o nasledujici: > > > def foo(q): >print os.getuid() >while True: >pass > > def bar(): >os.setuid(NEJAKE_EXISTUJICI_UID) >if not CESTA_K_HOME in sys.path: >sys.path.append(CESTA_K_HOME) >os.chdir(CESTA_K_HOME) >cmd = "prikaz spouztejici web server" >p = Popen(cmd, shell=True, stdout=PIPE) >p.communicate() > > > if __name__ == "__main__": ># fronta neni prozatim dulezita >workQueue = Queue() > >bar_proc = Process(target=bar, args=()) >foo_proc = Process(target=foo, args=(workQueue,)) > >foo_proc.start() >bar_proc.start() > >foo_proc.join() >bar_proc.join() > > > Problem je ten ze webovy server z foo() nebezi i kdyz python rika > (foo_proc.is_alive()), ze proces bezi. > > Kde delam neustale chybu? > > Diky za odpovedi. > > -- > Tom > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] multiprocess a subprocess
Moje chyba melo byt bar(), foo() je jak rikate zatizi proc na 100% (tedy funguje). Oprava: Problem je ten ze webovy server z bar() nebezi ... azurIt wrote: > Co presne by mala robit funkcia foo() ? :) podla mna ti na 100% vyhuli > procesor a to je cele ;) > > > >> -Pôvodná správa- >> Od: Tomas Pelka [mailto:tompe...@gmail.com] >> Komu: python@py.cz >> Predmet: [python] multiprocess a subprocess >> >> >> Zdravim, >> >> mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni >> jiste otazkou chvilky. Pokousim se o nasledujici: >> >> >> def foo(q): >> print os.getuid() >> while True: >> pass >> >> def bar(): >> os.setuid(NEJAKE_EXISTUJICI_UID) >> if not CESTA_K_HOME in sys.path: >> sys.path.append(CESTA_K_HOME) >> os.chdir(CESTA_K_HOME) >> cmd = "prikaz spouztejici web server" >> p = Popen(cmd, shell=True, stdout=PIPE) >> p.communicate() >> >> >> if __name__ == "__main__": >> # fronta neni prozatim dulezita >> workQueue = Queue() >> >> bar_proc = Process(target=bar, args=()) >> foo_proc = Process(target=foo, args=(workQueue,)) >> >> foo_proc.start() >> bar_proc.start() >> >> foo_proc.join() >> bar_proc.join() >> >> >> Problem je ten ze webovy server z foo() nebezi i kdyz python rika >> (foo_proc.is_alive()), ze proces bezi. >> >> Kde delam neustale chybu? >> >> Diky za odpovedi. >> >> -- >> Tom >> >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python -- Tom Key fingerprint = 06C0 23C6 9EB7 0761 9807 65F4 7F6F 7EAB 496B 28AA ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] multiprocess a subprocess
Co presne by mala robit funkcia foo() ? :) podla mna ti na 100% vyhuli procesor a to je cele ;) >-Pôvodná správa- >Od: Tomas Pelka [mailto:tompe...@gmail.com] >Komu: python@py.cz >Predmet: [python] multiprocess a subprocess > > >Zdravim, > >mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni >jiste otazkou chvilky. Pokousim se o nasledujici: > > >def foo(q): >print os.getuid() >while True: >pass > >def bar(): >os.setuid(NEJAKE_EXISTUJICI_UID) >if not CESTA_K_HOME in sys.path: >sys.path.append(CESTA_K_HOME) >os.chdir(CESTA_K_HOME) >cmd = "prikaz spouztejici web server" >p = Popen(cmd, shell=True, stdout=PIPE) >p.communicate() > > >if __name__ == "__main__": ># fronta neni prozatim dulezita >workQueue = Queue() > >bar_proc = Process(target=bar, args=()) >foo_proc = Process(target=foo, args=(workQueue,)) > >foo_proc.start() >bar_proc.start() > >foo_proc.join() >bar_proc.join() > > >Problem je ten ze webovy server z foo() nebezi i kdyz python rika >(foo_proc.is_alive()), ze proces bezi. > >Kde delam neustale chybu? > >Diky za odpovedi. > >-- >Tom > >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
[python] multiprocess a subprocess
Zdravim, mam maly problem, ktery jiz resim cely vecer. Pro znale bude reseni jiste otazkou chvilky. Pokousim se o nasledujici: def foo(q): print os.getuid() while True: pass def bar(): os.setuid(NEJAKE_EXISTUJICI_UID) if not CESTA_K_HOME in sys.path: sys.path.append(CESTA_K_HOME) os.chdir(CESTA_K_HOME) cmd = "prikaz spouztejici web server" p = Popen(cmd, shell=True, stdout=PIPE) p.communicate() if __name__ == "__main__": # fronta neni prozatim dulezita workQueue = Queue() bar_proc = Process(target=bar, args=()) foo_proc = Process(target=foo, args=(workQueue,)) foo_proc.start() bar_proc.start() foo_proc.join() bar_proc.join() Problem je ten ze webovy server z foo() nebezi i kdyz python rika (foo_proc.is_alive()), ze proces bezi. Kde delam neustale chybu? Diky za odpovedi. -- Tom ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python