This example shows how to use the projadd command to add a project entry and the projmod command to alter that entry.
Become superuser or assume an equivalent role.
View the default /etc/project file on your system by using projects -l.
# projects -l system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10::::system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: |
Add a project with the name booksite. Assign the project to a user who is named mark with project ID number 4113.
# projadd -U mark -p 4113 booksite |
View the /etc/project file again.
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: booksite projid : 4113 comment: "" users : mark groups : (none) attribs: |
Add a comment that describes the project in the comment field.
# projmod -c `Book Auction Project' booksite |
View the changes in the /etc/project file.
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: booksite projid : 4113 comment: "Book Auction Project" users : mark groups : (none) attribs: |
To bind projects, tasks, and processes to a pool, see Setting Pool Attributes and Binding to a Pool.
This example shows how to use the projdel command to delete a project.
Become superuser or assume an equivalent role.
Remove the project booksite by using the projdel command.
# projdel booksite |
Display the /etc/project file.
# projects -l system projid : 0 comment: "" users : (none) groups : (none) attribs: user.root projid : 1 comment: "" users : (none) groups : (none) attribs: noproject projid : 2 comment: "" users : (none) groups : (none) attribs: default projid : 3 comment: "" users : (none) groups : (none) attribs: group.staff projid : 10 comment: "" users : (none) groups : (none) attribs: |
Log in as user mark and type projects to view the projects that are assigned to this user.
# su - mark # projects default |
If no editing options are given, the projmod command validates the contents of the project file.
To validate a NIS map, type the following:
# ypcat project | projmod -f — |
To check the syntax of the /etc/project file, type the following:
# projmod -n |
Use the id command with the -p flag to display the current project membership of the invoking process.
$ id -p uid=100(mark) gid=1(other) projid=3(default) |
Log in as a member of the destination project, booksite in this example.
Create a new task in the booksite project by using the newtask command with the -v (verbose) option to obtain the system task ID.
machine% newtask -v -p booksite 16 |
The execution of newtask creates a new task in the specified project, and places the user's default shell in this task.
View the current project membership of the invoking process.
machine% id -p uid=100(mark) gid=1(other) projid=4113(booksite) |
The process is now a member of the new project.
This example shows how to associate a running process with a different task and new project. To perform this action, you must either be superuser, or be the owner of the process and be a member of the new project.
Become superuser or assume an equivalent role.
If you are the owner of the process or a member of the new project, you can skip this step.
Obtain the process ID of the book_catalog process.
# pgrep book_catalog 8100 |
Associate process 8100 with a new task ID in the booksite project.
# newtask -v -p booksite -c 8100 17 |
The -c option specifies that newtask operate on the existing named process.
Confirm the task to process ID mapping.
# pgrep -T 17 8100 |