Forks current process into two processes.
Forks current process into two processes, but they initialy share the address space until exec()
or exit()
calls are called. Parent process execution is suspended until exec()
or exit()
call as well.
GETFROMSTACK(ustack, char *, path, 0);
GETFROMSTACK(ustack, char **, argv, 1);
GETFROMSTACK(ustack, char **, envp, 2);
GETFROMSTACK(ustack, char *, map, 0);
GETFROMSTACK(ustack, char *, name, 1);
GETFROMSTACK(ustack, char **, argv, 2);
GETFROMSTACK(ustack, char *, path, 0);
GETFROMSTACK(ustack, char **, argv, 1);
GETFROMSTACK(ustack, char **, envp, 2);
GETFROMSTACK(ustack, int, code, 0);
GETFROMSTACK(ustack, int, pid, 0);
GETFROMSTACK(ustack, int *, stat, 1);
GETFROMSTACK(ustack, int, options, 2);
Returns current process identifier
Returns parent process identifier
GETFROMSTACK(ustack, pid_t, pid, 0);
GETFROMSTACK(ustack, pid_t, pgid, 1);