Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

newtask(1)

名前

newtask - タスクの新規作成と任意のプロジェクト変更

形式

newtask [-p project [–d]] [-v] [-c pid | [-Fl] [command...]]

説明

newtask コマンドは、ユーザーのデフォルトシェルまたは指定されたコマンドを実行し、実行したコマンドを、指定されたプロジェクトが所有する新しいタスクに配置します。ユーザーのデフォルトシェルは、passwd データベースに指定されたシェルであり、getpwnam() を使用して特定されます。

また、newtask では、すでに実行されているプロセスを使用すると、新しく作成したタスクを入れることができます。新しいタスク用のプロジェクトもこの形式のコマンドで指定できます。これは、非常に重要で再起動できないプロセスを新しいプロジェクトに配置するのに適しています。

また、拡張アカウンティングがアクティブな場合に newtask コマンドを使用すると、タスクのアカウンティングレコードを作成して、先行するシステムタスクの完了をマークすることもできます。

オプション

サポートしているオプションは、次のとおりです。

–c pid

実行中のプロセスを新しく作成したタスクに入れます。また、–p オプションを使用すると、新しいタスク用のプロジェクトを指定できます。コマンドを起動したユーザーは、プロセスを所有しているか、スーパーユーザー特権を持っている必要があります。

プロジェクトを変更する場合は、プロセスの所有者が指定のプロジェクトのメンバーであるか、コマンドを起動したユーザーがスーパーユーザー特権を持っている必要があります。実行中のプロセスのプロジェクトが変更されると、そのプールバインディングとリソース制御が新しいプロジェクトの構成に合わせて変更されます。プロジェクトのエントリで明示的に指定されなかった制御は保持されます。

このオプションは、–F および –l オプションと同時には使用できません。

–d

プロジェクトで project.pool 属性を指定していない場合、ゾーンのデフォルトのプールにバインドします。–p が必要です。これにより既存のプールまたは pset バインディングが上書きされます。このオプションは、ターゲットプロセスがプールまたは pset に手動でバインドされており、プロジェクトで project.pool 属性を指定しておらず、管理者がゾーンのデフォルトのプールバインディングをリストアする必要がある場合に便利です。このオプションを指定せず、プロジェクトで project.pool または project.mcb 属性を指定していない場合、既存のプールまたは pset バインディングが残されます。

–F

ファイナライズタスクを作成します。ファイナライズタスク内では、以降の newtask または settaskid(2) の起動は失敗します。ファイナライズタスクは、一部のサイトでリソース消費の帰属を簡略化する際に役立ちます。

–l

環境を、ユーザーが実際に新しいプロジェクトのメンバーとして再度ログインした場合に得られる環境に変更します。

–p

新しいタスクのプロジェクト ID を特定のプロジェクト名に関連付けられた ID に変更します。コマンドを正常に実行するには、起動したユーザーが、要求するプロジェクトの有効なメンバーであるか、スーパーユーザー特権を持っている必要があります。プロジェクト名を指定していない場合、新しいタスクは、プロジェクトユーザーの現在のプロジェクト内で開始されます。–p を指定せずに –c オプションを使用した場合、ターゲットプロセスはその現在のプロジェクトで新しいタスクを開始します。

–v

詳細: 新しいシステムタスクの開始時にシステムタスク ID を表示します。

オペランド

次のオペランドがサポートされています。

project

作成したタスクのリソース使用量をチャージするプロジェクト。要求するプロジェクトは、nsswitch.conf(4) で定義されたプロジェクトデータベースで定義されている必要があります。

command

新しいタスクとして実行するコマンド。コマンドを指定しなかった場合、ユーザーのログインシェルが起動されます。ログインシェルが使用できない場合は、/bin/sh が起動されます。

使用例 1 新しいシェルを作成する

次の例では、canada プロジェクトに新しいシェルを作成し、タスク 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)
使用例 2 date コマンドを実行する

次の例では、russia プロジェクトで date コマンドを実行しています。

example$ newtask -p russia date
Tue Aug 31 11:12:10 PDT 1999
使用例 3 既存プロセスのプロジェクトを変更する

次の例では、pid が 9999 の既存プロセスのプロジェクトを russia に変更しています。

example$ newtask -c 9999 -p russia

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

1

実行中に致命的なエラーが発生した。

2

無効なコマンド行オプションが指定された。

ファイル

/etc/project

このマシンの有効なプロジェクト定義を含むローカルデータベース。

/proc/pid/*

プロセス情報および制御ファイル。

属性

属性についての詳細は、attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

proc(1), id(1M), poolbind(1M), execvp(2), setrctl(2), settaskid(2), setproject(3PROJECT), nsswitch.conf(4), proc(4), project(4), attributes(5)