подпроцесс python, вызывающий «внутренний» процесс - PullRequest
0 голосов
/ 30 июля 2010

Из любопытства и попыток понять модуль подпроцесса: можно ли сделать что-то вроде:

import subprocess

def myfun(arg):
    # do stuff

arg = something;
p = subprocess.Popen(["myfun","arg"])

, не помещая "myfun" в собственный файл?Похоже, что в целом это будет страшно, если вы не будете осторожны с очисткой дочерних процессов.

1 Ответ

4 голосов
/ 30 июля 2010

Вы можете передать Popen a preexec_fn, который является вызываемым объектом, выполняемым в дочернем процессе перед выполнением команды. Более стандартным подходом является использование модуля multiprocessing, который требует функции Python вместо внешней команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...