Solaris 10 资源管理器开发者指南

/etc/project 文件

project 文件是工作负荷分层结构的核心。project 数据库是在系统中通过 /etc/project 文件或在网络上通过名称服务(如 NIS 或 LDAP)来维护的。

/etc/project 文件包含五个标准项目。

system

此项目用于所有系统进程和守护进程。

user.root

所有的根进程都在 user.root 项目中运行。

noproject

此特殊项目用于 IPQoS。

default

缺省项目会指定给每个用户。

group.staff

此项目用于 staff 组中的所有用户。

要通过编程方式访问项目文件,请使用以下结构:

struct project {

  char      *pj_name;       /* name of the project */

  projid_t   pj_projid;     /* numerical project ID */

  char      *pj_comment;    /* project comment */

  char     **pj_users;      /* vector of pointers to project user names */

  char     **pj_groups;     /* vector of pointers to project group names */

  char      *pj_attr;       /* project attributes */

};

project 结构成员包括以下各项:

*pj_name

项目的名称。

pj_projid

项目 ID。

*pj_comment

用户提供的项目说明。

**pj_users

指向项目用户成员的指针。

**pj_groups

指向项目组成员的指针。

*pj_attr

项目属性。使用这些属性可为资源控制和项目池设置值。

通过项目属性,可以控制资源的使用情况。可以使用四种前缀对各种类型的资源控制属性进行分组:

有关资源控制的完整列表,请参见 resource_controls(5)