[python] multiprocess a subprocess

Tomas Pelka tompelka na gmail.com
Pátek Duben 16 23:56:20 CEST 2010


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



Další informace o konferenci Python