为什么 execlp() 不在系统调用部分
Why isn't `execlp()` in the system call section
我注意到 execlp()
的条目不在手册页的系统调用 (2) 部分,而是位于 (3) 部分,子例程。为什么会这样,而 fork()
位于第 (2) 部分?
链接如下:
https://linux.die.net/man/2/fork
https://linux.die.net/man/3/execlp
因为 execlp()
(以及同一手册页中的所有其他 execXXX()
函数)是围绕 execve()
系统调用的库函数包装器。将可变参数收集到数组中以及在 PATH
环境变量中搜索程序的步骤在调用内核以启动程序执行之前在库中的 user-mode 代码中完成.
fork()
,另一方面,直接调用内核。
我注意到 execlp()
的条目不在手册页的系统调用 (2) 部分,而是位于 (3) 部分,子例程。为什么会这样,而 fork()
位于第 (2) 部分?
链接如下:
https://linux.die.net/man/2/fork
https://linux.die.net/man/3/execlp
因为 execlp()
(以及同一手册页中的所有其他 execXXX()
函数)是围绕 execve()
系统调用的库函数包装器。将可变参数收集到数组中以及在 PATH
环境变量中搜索程序的步骤在调用内核以启动程序执行之前在库中的 user-mode 代码中完成.
fork()
,另一方面,直接调用内核。