kurahaupo 1729399837 learn the "normal" way to run a program is actually 3 steps: (1) the shell forks itself into two processes (both running the shell executable); (2) the child process does an execve system call to replace the running shell with the named program; and meanwhile (3) the parent process issues a "wait" system call, so that it stalls until the child exits or dies. A background process started with '&' omits the "wait". A kurahaupo 1729399895 forget kurahaupo 1729399972 learn the "normal" way to run a program is actually 3 steps: (1) the shell calls the "fork" system call to create a clone of itself; (2) the child process does an execve system call to replace the running shell with the named program; and meanwhile (3) the parent process issues a "wait" system call, so that it stalls until the child exits or dies. A background process started with '&' omits the "wait". A program kurahaupo 1729399981 forget kurahaupo 1729400034 learn the "normal" way to run a program is actually 3 steps: (1) the shell does a fork system call to create a clone of itself; (2) the child process does an execve system call to replace itself with the named program; and meanwhile (3) the parent process does a "wait" system call, so that it stalls until the child exits or dies. A background process started with '&' omits the "wait". A program invoked with "exec" kurahaupo 1729400049 forget emanuele6 1729400096 learn the "normal" way to run a program is actually 3 steps: (1) the shell does a fork system call to create a clone of itself; (2) the child process does an execve system call to replace itself with the named program; and meanwhile (3) the parent process does a "wait" system call, so that it stalls until the child exits or dies. A background process started with '&' omits the "wait". A program invoked with "exec" omits the "fork". emanuele6 1729400135 forget kurahaupo 1729400149 learn the "normal" way to run a program is takes 3 steps: (1) the shell does a fork syscall to create a clone of itself; (2) the child process does an execve syscall to replace itself with the named program; and meanwhile (3) the parent process does a wait syscall, so that it stalls until the child exits or dies. A background process started with '&' omits the "wait". A program invoked with "exec" omits the "fork".