diff --git a/Lib/subprocess.py b/Lib/subprocess.py index e259dc3a8e538a..c39d98104b3bfc 100644 --- a/Lib/subprocess.py +++ b/Lib/subprocess.py @@ -937,6 +937,10 @@ def __init__(self, args, bufsize=-1, executable=None, if uid < 0: raise ValueError(f"User ID cannot be negative, got {uid}") + if preexec_fn == os.setsid: # A common unnecessary legacy use. + start_new_session = True + preexec_fn = None + try: if p2cwrite != -1: self.stdin = io.open(p2cwrite, 'wb', bufsize)