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
[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
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
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