我正在寻找一个真实世界的场景,其中使用exec将是唯一可用的选项(如果不使用exec则问题无法解决)
我知道什么是exec以及它与fork有什么不同,但仍然对强制使用exec命令的现实问题感兴趣.
如何在不使用exec的情况下启动另一个进程?
fork()
(或者,clone()
现在更好,在Linux上)只是说要复制一个进程.那么你有2份相同的过程.
execve()
(和-le,-lp,-vp,-v friends)只是说用一个新进程完全替换当前进程.(保持fd,但不多)
所以火另一个程序,必须先fork()
,然后exec()
在出现的过程中的一个(通常是子进程).