Ruff subprocess-popen-preexec-fn (PLW1509)

subprocess-popen-preexec-fn в Ruff проверяет код на предупреждение PLW1509. Правило относится к группе Pylint.

Почему это неправильно

Правило Pylint указывает на возможную ошибку, слишком сложный код или нарушение распространённых соглашений Python.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила subprocess-popen-preexec-fn и пример ниже.

Пример ошибки

import os, subprocess

subprocess.Popen(foo, preexec_fn=os.setsid)
subprocess.Popen(bar, preexec_fn=os.setpgid(0, 0))

Как правильно

import subprocess

subprocess.Popen(foo, start_new_session=True)
subprocess.Popen(bar, process_group=0)  # Introduced in Python 3.11

Автоисправление

Ruff не предлагает автоисправление для этого правила.