
Since Python 3.4, file descriptors created by Python are non-inheritable by default. Otherwise when close_fds is false, file descriptors obey their inheritable flag as described in Inheritance of File Descriptors.Ī file descriptor has an “inheritable” flag which indicates if the file descriptor can be inherited by child processes. If close_fds is true, all file descriptors except 0, 1 and 2 will be closed before the child process is executed.

My gut feeling, is that the close_fds=True parameter was what made the difference.

I vaguely remember having an issue with this but no longer remember exactly why I chose this solution.
