Я использую subprocess.popen создать новый дочерний процесс - в данном случае git clone .
Проблема в том, что клон Git только порождает подпроцессы, и когда я пытаюсь убить их, используя Popen.kill () .git clone) убивают, но не его дети.
Примером ребенка является:
79191 /usr/lib/git-core/git fetch-pack --stateless-rpc --stdin --lock-pack --include-tag --thin --cloning --depth=1 https://example.com/scm/adoha/adoha_dig ... ation.git/
Как я могу убить все процессы - git clone и его дети? # execute a child process using os.execvp()
p = subprocess.Popen(shlex.split(f'git clone --bare --depth=1 -v \'{url}\' \'{temp_dir}\''),
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
try:
ret_code = p.wait(timeout)
except subprocess.TimeoutExpired as exc:
p.kill()
shutil.rmtree(temp_dir)
raise common.exc.WatchdogException(f'Failed to clone repository: Timeout.'
f'\n{timeout=}\n{url=}') from exc
Подробнее здесь: https://stackoverflow.com/questions/641 ... en-process
Как я могу убить детские процессы, порожденные процессом subprocess.popen ()? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему подключение очереди PHP-FPM, когда Max Active процессы меньше, чем общие процессы
Anonymous » » в форуме Php - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-