proj_execve Subroutine
Purpose
Executes an application with the specified project assignment.
Library
The libaacct.a library.
Syntax
<sys/aacct.h>
int proj_execve(char * path char *const arg[], char *const env[], projid_t projid, int force);
Description
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
.
Parameters
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. |
Return Values
Item | Description |
---|---|
0 | Upon success, does not return to the calling process. |
-1 | The subroutine failed. |
Error Codes
Item | Description |
---|---|
EPERM | Permission denied. A user without privileges attempted the call. |