"execve"中的"ve"是什么意思?

Eli*_*ynn 8 posix

什么是veexecve意味着什么?

我读完了,man execve但没看到它意味着什么.我认为它可能是"矢量"但不确定.什么ve意思?

Riv*_*asa 6

维基百科我们可以看到:

一些实现提供了这些以下划线开头的函数(例如 _execl)。

每个的基数是 exec(执行),后跟一个或多个字母:

e – 一个指向环境变量的指针数组被显式传递给 >new 过程映像。

l – 命令行参数单独(一个列表)传递给函数。

p - 使用 PATH 环境变量查找要执行的文件 >argument 中命名的文件。

v – 命令行参数作为指针数组(向量)传递给函数。

在 execl、execlp、execv 和 execvp 调用中,新的进程映像继承了当前的环境变量。 (强调我的。)

所以你的怀疑是对的。


Aco*_*orn 6

execve()是一个POSIX(和一般的UNIX系统)功能系列的exec*()功能,它取代了当前的过程映像.

v来自这样一个事实:它对程序的参数argv向量进行了参数化(与mainC程序的函数可以采用相同的方式).

e来自另一个的它的参数,envp,这是同样的环境变量(键/值对等的矢量LANG=en_US.UTF-8).

有关更多信息,请参阅Open Group的文档exec*().