最新の API

最新の API は以下のメソッドで構成されています:

Ping (int junk) -> None

Ping は manager が正常に動作しているかどうかをテストするのに使います。integer の値は無視されます。

GetPidCgroup (string controller, int pid) -> string cgroup

controller と PID を与えると、cgroup のパスを返します。

GetPidCgroupAbs (string controller, int pid) -> string cgroup

controller と PID を与えると、cgroup の絶対パスを返します。

Create (string controller, string cgroup) -> int existed

指定した controller 内に新しい cgroup パスを作成します。既にパスが存在する場合は 1 を、作成が成功した場合は 0 を返します。

Chown (string controller, string cgroup, int uid, int gid) -> None

指定した uid と gid で、指定したパス controller/cgroup を chown します。ディレクトリ、cgroup.procs、tasks ファイルを chown します。

Chmod (string controller, string cgroup, string file, int mode) -> None

指定したパスの controller/cgroup/file を指定した mode に chmod します。

MovePid (string controller, string cgroup, int pid) -> None

指定した PID を指定した controller/cgroup に移動します。

MovePidAbs (string controller, string cgroup, int pid) -> None

MovePid と同様ですが、呼び出し元 (もしくはプロキシ) からの相対 cgroup パスでなく、絶対 cgroup パスを指定します。 この呼び出しは現在の cgroup の制限をエスケープするので root に制限されています。

GetValue (string controller, string cgroup, string key) -> string value

指定した controller/cgroup 内の指定した key の値を返します。常に文字列が返されます。

SetValue (string controller, string cgroup, string key, string value) -> None

指定した contoller/cgroup 内の指定した key に値を設定します。

Remove (string controller, string cgroup, int recursive) -> int existed

指定した cgroup を削除します。もし recursive が 1 の場合は指定した cgroup のサブ cgroup も削除されます。 返り値は指定した cgroup が存在したかどうかを示します。

GetTasks (string controller, string cgroup) -> array of int

指定した cgroup パス内の全ての PID を int の配列で返します。

GetTasksRecursive (string controller, string cgroup) -> array of int

指定した cgroup パスとそのサブディレクトリ (子孫の cgroup) 内の全ての PID を int の配列で返します。

ListChildren (string controller, string cgroup) -> array of string

指定した cgroup パスの全ての子供 (サブ cgroup) を文字列の配列で返します。

RemoveOnEmpty (string controller, string cgroup) -> None

指定した cgroup が空の場合に消去可能なマークをつけます。cgroup の最後のタスクがなくなったとき、cgmanager は自動的にその cgroup を消去します。

Prune (string controller, string cgroup) -> None

指定した cgroup パスとサブディレクトリで (再帰的に) RemoveOnEmpty を呼び出します。

タスクが kill されることはありませんが、タスクが自然に exit するか何かの理由で kill されたらすぐに cgroup は消えるでしょう。

ListControllers () -> array of string

サポートされるコントローラを文字列のリストの形式で返します。

ListKeys (string controller, string cgroup) -> array of (string, uint, uint, uint)

利用可能な cgroup のキーを (string name, uint uid, uint gid, uint mode) のリストで返します。

api_version (property) -> integer

現在の内部的な API のバージョンを返します。将来的なチェックに使います。

API を定義するドキュメント

cgmanager ツリー内の org.linuxcontainers.cgmanager.xml ファイル がクライアントライブラリを生成するのに使われます。そして、このファイルが正式な API の定義です。