diff --git a/check_manifest.py b/check_manifest.py
index <HASH>..<HASH> 100755
--- a/check_manifest.py
+++ b/check_manifest.py
@@ -139,8 +139,10 @@ def run(command, encoding=None, decode=True, cwd=None):
     if not encoding:
         encoding = locale.getpreferredencoding()
     try:
-        pipe = subprocess.Popen(command, stdout=subprocess.PIPE,
-                                stderr=subprocess.STDOUT, cwd=cwd)
+        with open(os.devnull, 'rb') as devnull:
+            pipe = subprocess.Popen(command, stdin=devnull,
+                                    stdout=subprocess.PIPE,
+                                    stderr=subprocess.STDOUT, cwd=cwd)
     except OSError as e:
         raise Failure("could not run %s: %s" % (command, e))
     output = pipe.communicate()[0]
Explicitly close stdin for subprocesses

One reason to do that is because any prompts would be invisible, since
we're intercepting the stdout and stderr.

Another (and main reason) to do this is that I'm getting weird "0: Bad
file descriptor" errors from git-submodule on Appveyor.