Executes an application with the specified project assignment.
The libaacct.a library.
<sys/aacct.h>
int proj_execve(char * path char *const arg[], char *const env[], projid_t projid, int force);
The proj_execve system call assigns the requested project ID to the calling process and runs the given program. This subroutine checks whether the caller is allowed to assign the requested project ID to the application, using the available project assignment rules for the caller's user ID, group ID, and application name. If the requested project assignment is not allowed, an error code is returned. However, the user with root authority or advanced accounting administrator capabilities can force the project assignment by setting the force parameter to 1.
Item | Description |
---|---|
path | Path for the application or program to be run. |
arg | List of arguments for the new process. |
env | Environment for the new process. |
projid | Project ID to be assigned to the new process. |
force | Option to override the allowed project list for the application, user, or group. |
Item | Description |
---|---|
0 | Upon success, does not return to the calling process. |
-1 | The subroutine failed. |
Item | Description |
---|---|
EPERM | Permission denied. A user without privileges attempted the call. |