在Linux中,运行一个程序时,首先由shell调用fork,然后在子进程中真正执行这个命令,首先是调用execve来加载可执行文件,然后将所需要的库文件映射到进程的虚拟内存空间中,此时,进程执行上下文加载完成,开始执行代码段。
Linux中程序是以可执行文件的形式存放在磁盘上,可执行文件既包括被执行函数的目标代码,又包括被执行函数使用到的数据,它描述了如何初始化一个新的执行上下文。exec系列函数用来将可执行文件所描述的新上下文替代父进程的上下文。
参考资料:
1. 《Linux环境编程 从应用到内核》高峰。
2. 《深入理解Linux内核》
=============================================================================================
Linux应用程序、内核、驱动、后台开发交流讨论群(745510310),感兴趣的同学可以加群讨论、交流、资料查找等,前进的道路上,你不是一个人奥^_^。