|
|
|
|
|
by dllthomas
5036 days ago
|
|
I'm pretty sure popen is just a wrapper around this stuff. It's basically, pipe: get two fds connected by a pipe fork: create a child process dup2: move the read fd of the pipe to 0 (stdin) in the new process exec: run the program in the child process There's some cleanup but that's the gist - popen isn't a syscall (or reasonably close to one), so must necessarily rely on other stuff to get its work done where it actually interfaces with the kernel. |
|