我注意到execlp()
的入口不在man手册的系统调用(2)部分,而是驻留在部分(3)的子程序中。 这是为什么,而fork()
驻留在第(2)节?
这里是链接:
https://linux.die.net/man/2/fork
https://linux.die.net/man/3/execlp
由于execlp()
(以及同一手册页中的所有其他execXXX()
函数)都是execve()
系统调用的库函数包装器。 将可变参数收集到数组中,并在PATH
环境变量中搜索程序的步骤是在库中的用户模式代码中完成的,然后调用内核来启动程序的执行。
另一方面, fork()
直接调用内核。