proj_execve 子例程

用途

执行具有指定项目分配的应用程序。

libaacct.a 库。

语法

<sys/aacct.h>

int proj_execve(char * path char *const arg[], char *const env[], projid_t projid, int force);

描述

proj_execve 系统调用将请求的项目标识分配给调用过程并运行给定的程序。 此子例程使用调用者的用户标识,组标识和应用程序名称的可用项目分配规则来检查是否允许调用者将请求的项目标识分配给应用程序。 如果不允许所请求的项目分配,那么将返回错误代码。 但是,具有 root 用户权限或高级记帐管理员功能的用户可以通过将 force 参数设置为 1来强制分配项目。

参数

描述
路径 要运行的应用程序或程序的路径。
参数 新进程的自变量列表。
环境 新流程的环境。
projid 要分配给新过程的项目标识。
强制 用于覆盖应用程序,用户或组的允许项目列表的选项。

返回值

描述
0 成功后,不返回到调用过程。
-1 子例程失败。

错误代码

描述
EPERM 许可权被拒绝。 没有特权的用户尝试调用。