prctl(1)
NAME
prctl - get or set the resource controls of running
processes, tasks, and projects
SYNOPSIS
prctl [-t [basic | privileged | system] ] [ -e | -d action]
[-rx] [ -n name [-v value]] [-i idtype] [id...]
DESCRIPTION
The prctl utility allows the examination and modification of
the resource controls associated with an active process,
task, or project on the system. It allows access to the
basic and privileged limits on the specified entity.
OPTIONS
The following options are supported:
-d | -e action
Disables (-d) or enables (-e) the specified action on
the specified resource control. The special token all
is valid with the disable option to deactivate all
actions on the given resource control value.
The other defined actions for a resource are deny and
signal=signum. The deny action indicates that the
resource control encountered will attempt to deny
granting the resource to the process, task, or project
on a request for resources in excess of the value pro-
vided by the -v option for the new resource control.
In the signal=signum action, signum is a signal number
(or string representation of a signal). deny actions
may not be activated or deactivated if global flags
indicate that the deny action is unchangeable.
-i idtype
Specifies the type of the id operands. Valid idtypes
are process, task, or project. The default id type, if
the -i option is omitted, is process.
-n name
Specifies the name of the resource control to get or
set. If the name is unspecified, all resource controls
are retrieved.
-r Replaces the first resource control value (matching
with the -t privilege) with the new value specified
through the -v option.
-t [ basic | privileged | system ]
Specifies which resource control type to set. Unless
the "lowerable" flag is set for a resource control,
only invocations by users (or setuid programs) who
have privileges equivalent to those of root can modify
privileged resource controls. See
rctlblk_set_value(3C) for a description of the
RCTL_GLOBAL_LOWERABLE flag. If the type is not speci-
fied, basic is assumed. For a get operation, the
values of all resource control types, including sys-
tem, are displayed if no type is specified.
-v value
Specifies the value for the resource control for a set
operation. If no value is specified, then the modifi-
cation (deletion, action enabling or disabling) will
be carried out on the lowest-valued resource control
with the given type.
-x Deletes the specified resource control value. If the
delete option is not provided, the default operation
of prctl is to modify a resource control value of
matching value and privilege, or insert a new value
with the given privilege. The matching criteria are
discussed more fully in setrctl(2).
If none of the -d, -e, -v, or -x options is specified, the
invocation is considered a get operation.
OPERANDS
The following operand is supported:
id The ID of the entity (process, task, or project) to
interrogate. If the invoking user's credentials are
unprivileged and the entity being interrogated
possesses different credentials, the operation will
fail. If no id is specified, an error message is
returned.
EXAMPLES
Example 1: Displaying current resource control settings for
a specific process
example$ pgrep sort
111759
example$ prctl 111759
111759: /usr/bin/sort
process.max-address-space [ lowerable deny no-local-action ]
18446744073709551615 privileged deny
18446744073709551615 system deny
process.max-file-descriptor [ lowerable deny ]
256 basic deny
65536 privileged deny
2147483647 system deny
process.max-core-size [ lowerable deny no-local-action ]
18446744073709551615 privileged deny
18446744073709551615 system deny
process.max-stack-size [ lowerable deny no-local-action ]
8388608 basic deny
9223372036854775807 privileged deny
9223372036854775807 system deny
process.max-data-size [ lowerable deny no-local-action ]
18446744073709551615 privileged deny
18446744073709551615 system deny
process.max-file-size [ lowerable deny file-size ]
9223372036854775807 privileged signal=XFSZ deny
9223372036854775807 system deny
process.max-cpu-time [ lowerable no-deny cpu-time ]
18446744073709551615 privileged signal=XCPU
18446744073709551615 system deny [ infinite ]
task.max-cpu-time [ no-deny cpu-time ]
18446744073709551615 system deny [ infinite ]
task.max-lwps
2147483647 system deny
project.cpu-shares [ no-basic no-local-action ]
10 privileged none
65535 system deny
Example 2: Displaying, replacing, and verifying the value of
a specific control on an existing project
example# prctl -n project.cpu-shares -i project group.staff
111788: ksh
project.cpu-shares [ no-basic no-local-action ]
1 privileged none
65535 system deny
example# prctl -n project.cpu-shares -v 10 -r -i project group.staff
example# prctl -n project.cpu-shares -i project group.staff
111788: ksh
project.cpu-shares [ no-basic no-local-action ]
10 privileged none
65535 system deny
EXIT STATUS
The following exit values are returned:
0 Success.
1 Fatal error encountered.
2 Invalid command line options were specified.
FILES
/proc/pid/*
process information and control files
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWesu |
|_____________________________|_____________________________|
SEE ALSO
rctladm(1M), setrctl(2), rctlblk_get_local_action(3C),
attributes(5)
Man(1) output converted with
man2html