この手順では、x-files というプロジェクトを /etc/project ファイルに追加し、このプロジェクト内に作成されるタスクに適用する LWP の最大数を設定します。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (基本編)』の「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。
projadd コマンドに -K オプションを付けて実行して、x-files というプロジェクトを作成します。このプロジェクト内に作成される各タスクの LWP の最大数を 3 に設定します。
# projadd -K 'task.max-lwps=(privileged,3,deny)' x-files |
/etc/project ファイル内のエントリを表示します。それには、次のいずれかの方法を使用します。
次のように入力します。
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: . . . x-files projid : 100 comment: "" users : (none) groups : (none) attribs: task.max-lwps=(privileged,3,deny) |
次のように入力します。
# cat /etc/project system:0:System::: . . . x-files:100::::task.max-lwps=(privileged,3,deny) |
上記の手順を実行したあと、プロジェクト x-files に newtask を使って参加することで新しいタスクを作成したスーパーユーザーは、そのタスクの実行中、LWP を 3 つまでしか作成できません。次の注釈付きのセッション例を参照してください。
# newtask -p x-files csh # prctl -n task.max-lwps $$ process: 111107: csh NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT task.max-lwps privileged 3 - deny - system 2.15G max deny - # id -p uid=0(root) gid=1(other) projid=100(x-files) # ps -o project,taskid -p $$ PROJECT TASKID x-files 73 # csh /* creates second LWP */ # csh /* creates third LWP */ # csh /* cannot create more LWPs */ Vfork failed # |