当前 API¶
当前 API 由以下方法组成
Ping (int junk) -> None¶
Ping 仅用于测试管理器是否正常运行,整数的值会被忽略。
GetPidCgroup (string controller, int pid) -> string cgroup¶
获取控制器和 PID 并返回 cgroup 路径。
GetPidCgroupAbs (string controller, int pid) -> string cgroup¶
获取控制器和 PID 并返回绝对 cgroup 路径。
Create (string controller, string cgroup) -> int existed¶
在提供的控制器中创建新的 cgroup 路径,如果路径已存在则返回 1,如果创建成功则返回 0。
Chown (string controller, string cgroup, int uid, int gid) -> None¶
将提供的控制器/cgroup 路径的拥有者更改为提供的 uid 和 gid,这将更改目录以及 cgroup.procs 和 tasks 文件的拥有者。
Chmod (string controller, string cgroup, string file, int mode) -> None¶
将提供的控制器/cgroup/文件路径的权限更改为提供的模式。
MovePid (string controller, string cgroup, int pid) -> None¶
将提供的 PID 移动到提供的控制器/cgroup 中。
MovePidAbs (string controller, string cgroup, int pid) -> None¶
类似于 MovePid,但获取的是相对于调用者(或代理)的绝对 cgroup 路径。此调用仅限于 root 用户,因为它允许您跳过当前的 cgroup 限制。
GetValue (string controller, string cgroup, string key) -> string value¶
查询给定控制器/cgroup 中给定键的值。值始终以字符串形式返回。
SetValue (string controller, string cgroup, string key, string value) -> None¶
将给定键的值设置为提供的值。
Remove (string controller, string cgroup, int recursive) -> int existed¶
删除提供的 cgroup,如果 recursive 设置为 1,则任何子 cgroup 也将被删除。返回值指示 cgroup 是否存在。
GetTasks (string controller, string cgroup) -> array of int¶
返回一个整数数组,表示提供的 cgroup 路径中的所有 PID。
GetTasksRecursive (string controller, string cgroup) -> array of int¶
返回一个整数数组,表示提供的 cgroup 路径及其子目录中的所有 PID。
ListChildren (string controller, string cgroup) -> array of string¶
返回一个字符串数组,表示提供的 cgroup 路径的所有子项(子 cgroup)。
RemoveOnEmpty (string controller, string cgroup) -> None¶
将 cgroup 标记为在为空时可删除。一旦最后一个任务退出 cgroup,cgmanager 将自动将其删除。
Prune (string controller, string cgroup) -> None¶
在 cgroup 路径及其任何子目录(递归)上调用 RemoveOnEmpty。
任务不会被杀死,但一旦它们全部自然退出或被某些东西杀死,cgroup 将消失。
ListControllers () -> array of string¶
返回一个字符串数组,表示支持的控制器。
ListKeys (string controller, string cgroup) -> array of (string, uint, uint, uint)¶
返回一个 (字符串名称,uint uid,uint gid,uint 模式) 数组,表示可用的 cgroup 键。
api_version (property) -> integer¶
当前的内部 API 版本,用于功能检查。
API 定义文档¶
cgmanager 代码库中的 org.linuxcontainers.cgmanager.xml 文件 用于生成客户端库,并且是权威的 API 定义。