Close fds when running commands.

BUG=None
TEST=Ran test which previously hung due to a pipe fd being kept alive.

Change-Id: Id5dd4121677b66ff160b64143fe52d2663062a2f
Reviewed-on: https://chromium-review.googlesource.com/355284
Commit-Ready: Ricky Zhou <rickyz@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ricky Zhou <rickyz@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
(cherry picked from commit 5fae7692b7e5c29fc9173644d0a9090750209f45)
Reviewed-on: https://chromium-review.googlesource.com/378715
diff --git a/client/common_lib/base_utils.py b/client/common_lib/base_utils.py
index ba8383d..d70ca3a 100644
--- a/client/common_lib/base_utils.py
+++ b/client/common_lib/base_utils.py
@@ -189,14 +189,16 @@
                                        stderr=stderr_param,
                                        preexec_fn=self._reset_sigpipe,
                                        stdin=stdin,
-                                       env=env)
+                                       env=env,
+                                       close_fds=True)
         else:
             self.sp = subprocess.Popen(command, stdout=stdout_param,
                                        stderr=stderr_param,
                                        preexec_fn=self._reset_sigpipe, shell=True,
                                        executable="/bin/bash",
                                        stdin=stdin,
-                                       env=env)
+                                       env=env,
+                                       close_fds=True)
 
         self._output_prepare_called = False
         self._process_output_warned = False