newtask - create new task or change task or project of run-
newtask [-c pid | [-Fl] [command...]] [ -p project] [-v]
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 via getpwnam().
Alternatively, newtask may be used to change the task of an
already running process. A project may also be specified in
this form of the command. This may 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 may additionally cause the creation of a task
accounting record marking the completion of the preceding
The following options are supported:
Changes the task or project of a running process. The
invoking user must either own the process or have
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 will be
This option is incompatible with the -F and -l
-F Creates a finalized task, within which further newtask
or settaskid(2) invocations would fail. Finalized
tasks may be useful at some sites for simplifying the
attribution of resource consumption.
-l Changes the environment to what would be expected if
the user dactually logged in again as a member of the
-p Changes the project ID of the new task to that associ-
ated 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.
The following operands are supported:
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
The command to be executed as the new task. If no com-
mand is given, the user's login shell is invoked. (If
the login shell is not available, /bin/sh is invoked.)
Example 1: Creating a new shell
The following example creates a new shell in the canada pro-
ject, displaying the task id:
example$ id -p
uid=565(gh) gid=10(staff) projid=10(default)
example$ newtask -v -p canada
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
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 russia
The following exit values are returned:
0 Successful execution.
1 A fatal error occurred during execution.
2 Invalid command line options were specified.
Local database containing valid project definitions
for this machine.
Process information and control files.
See attributes(5) for a description of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
proc(1), id(1M), poolbind(1M), execvp(2), setrctl(2), set-
taskid(2), setproject(3PROJECT), nsswitch.conf(4), proc(4),
Man(1) output converted with