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  |