Is it possible to run a command and capture its output via an FD (like in proc_open()), but without using the shell? As far as I can see now there is no way to do it. I think that's a simple feature, maybe just add it to proc_open()? (for example run command directly using exec() if the first argument is an array?) it would be rational because there is already such option for Windows...