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.