I’d like to run a process and not wait for it to return. I’ve tried spawn with P_NOWAIT and subprocess like this:
app = "C:\Windows\Notepad.exe"
file = "C:\Path\To\File.txt"
pid = subprocess.Popen(
[app, file],
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
).pid
However, the console window remains until I close Notepad. Is it possible to launch the process and not wait for it to complete?
This call doesn’t wait for the child process to terminate (on Linux). Don’t ask me what
close_fdsdoes; I wrote the code some years ago. (BTW: The documentation ofsubprocess.Popenis confusing, IMHO.)Edit:
I looked at the the documentation of subprocess, and I believe the important aspect for you is
stdin=None, stdout=None, stderr=None,. Otherwise Popen captures the program’s output, and you are expected to look at it.close_fdsmakes the parent process’ file handles inaccessible for the child.