NEWTASK(1)NEWTASK(1)NAMEnewtask - create new task and optionally change project
SYNOPSISnewtask [-p project] [-v] [-c pid | [-Fl] [command...]]
The newtask command executes the user's default shell or a specified
command, placing the executed command in a new task owned by the speci‐
fied 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 pro‐
cesses 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.
The following options are supported:
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
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 con‐
trols 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.
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
Changes the environment to what would be expected if the user
actually logged in again as a member of the new project.
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.
Verbose: displays the system task id as the new system task
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 nsswitch.conf(4).
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.)
Example 1 Creating a New Shell
The following example creates a new shell in the canada project, dis‐
playing 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 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 russia
The following exit values are returned:
A fatal error occurred during execution.
Invalid command line options were specified.
Local database containing valid project definitions for
Process information and control files.
SEE ALSOproc(1), id(1M), poolbind(1M), execvp(2), setrctl(2), settaskid(2),
setproject(3PROJECT), nsswitch.conf(4), proc(4), project(4),
Nov 17, 2004 NEWTASK(1)