NEWTASK(1) User Commands NEWTASK(1)
NAME
newtask - create new task and optionally change project
SYNOPSIS
newtask [
-p project] [
-v] [
-c pid | [
-Fl] [
command...]]
DESCRIPTION
The
newtask command executes the user's default shell or a specified
command, placing the executed command in a new task owned by the
specified project. The user's default shell is the one specified in
the
passwd database, and is determined using
getpwnam().
Alternatively, newtask can be used to cause an already running
process to enter a newly created task. A project for the new task can
also be specified in this form of the command. This might be
desirable for processes that are mission critical and cannot be
restarted in order to put them into a new project.
In the case that extended accounting is active, the
newtask command
can additionally cause the creation of a task accounting record
marking the completion of the preceding system task.
OPTIONS
The following options are supported:
-c pid Cause a running process to enter a newly created task. A
project for the new task can also be specified using the
-p option. The invoking user must either own the process or
have super-user privileges.
If the project is being changed, the process owner must be
a member of the specified project, or the invoking user
must have super-user privileges. When the project is
changed for a running process, its pool binding as well as
resource controls are modified to match the configuration
of the new project. Controls not explicitly specified in
the project entry is preserved.
This option is incompatible with the
-F and
-l options.
-F Creates a finalized task, within which further
newtask or
settaskid(2) invocations would fail. Finalized tasks can be
useful at some sites for simplifying the attribution of
resource consumption.
-l Changes the environment to what would be expected if the
user actually logged in again as a member of the new
project.
-p Changes the project
ID of the new task to that associated
with the given project name. The invoking user must be a
valid member of the requested project, or must have super-
user privileges, for the command to succeed. If no project
name is specified, the new task is started in the invoking
user's current project.
-v Verbose: displays the system task id as the new system task
is begun.
OPERANDS
The following operands are supported:
project The project to which resource usage by the created task
should be charged. The requested project must be defined
in the project databases defined in
nsswitch.conf(5).
command The command to be executed as the new task. If no command
is given, the user's login shell is invoked. (If the login
shell is not available,
/bin/sh is invoked.)
EXAMPLES
Example 1: Creating a New Shell
The following example creates a new shell in the
canada project,
displaying the task id:
example$
id -p uid=565(gh) gid=10(staff) projid=10(default)
example$
newtask -v -p canada 38
example$
id -p uid=565(gh) gid=10(staff) projid=82(canada)
Example 2: Running the date Command
The following example runs the date command in the
russia project:
example$
newtask -p russia date Tue Aug 31 11:12:10 PDT 1999
Example 3: Changing the Project of an Existing Process
The following example changes the project of the existing process
with a pid of
9999 to
russia:
example$
newtask -c 9999 -p russiaEXIT STATUS
The following exit values are returned:
0 Successful execution.
1 A fatal error occurred during execution.
2 Invalid command line options were specified.
FILES
/etc/project Local database containing valid project definitions
for this machine.
/proc/pid/* Process information and control files.
SEE ALSO
proc(1),
execvp(2),
setrctl(2),
settaskid(2),
setproject(3PROJECT),
nsswitch.conf(5),
proc(5),
project(5),
attributes(7),
id(8),
poolbind(8) November 17, 2004 NEWTASK(1)