posix_spawn()
The posix_spawn() function creates a child process by directly specifying an executable to load.
spawn()
The QNX Neutrinospawn() function is similar to posix_spawn().
fork()
The fork() function creates a new child process by sharing the same code as the calling process and duplicating the calling process's data to give the child process an exact copy. Most process resources are inherited.
exec*()
The exec*() family of functions replaces the current process with a new process, loaded from an executable file. Since the calling process is replaced, there can be no successful return.