Sou*_*oti 5 linux system-calls linux-kernel
我明白虽然 exec() 在 Unix 中执行后不返回,system() 可能会或可能不会返回,具体取决于情况。但是谁能解释为什么 exec() 系统调用不返回以及 exec() 之间的差异) 和 system() 在 Unix 操作系统中
system() 等价于 fork() + exec() + wait();这意味着当一个进程运行 system() 函数时,它会创建一个新进程并等待该进程结束。新进程在它自己的环境中执行命令,当它完成时,调用者接收信号子进程。
了解更多信息 man exec
man system
“exec 用新的进程映像替换当前进程映像”,这意味着当它退出时,调用者也会退出,因为调用者已成为新进程。