Tim Zhang f34225411e Remove Box wrap of Cgroup.hire
It's unnecessary.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2020-12-17 17:56:46 +08:00
2020-12-17 17:56:46 +08:00
2020-12-17 17:56:46 +08:00
2018-08-28 14:52:23 +02:00
2020-09-23 16:19:51 +08:00
2018-08-30 00:04:53 +02:00
2018-08-30 00:04:53 +02:00
2018-11-20 15:11:22 +02:00

cgroups-rs Build

Native Rust library for managing control groups under Linux

Right now the crate only support the original, V1 hierarchy, however support is planned for the Unified hierarchy.

Examples

Create a control group using the builder pattern

// Acquire a handle for the V1 cgroup hierarchy.
let hier = ::hierarchies::V1::new();

// Use the builder pattern (see the documentation to create the control group)
//
// This creates a control group named "example" in the V1 hierarchy.
let cg: Cgroup = CgroupBuilder::new("example", &v1)
	.cpu()
		.shares(85)
		.done()
	.build();

// Now `cg` is a control group that gets 85% of the CPU time in relative to
// other control groups.

// Get a handle to the CPU controller.
let cpus: &CpuController = cg.controller_of().unwrap();
cpus.add_task(1234u64);

// [...]

// Finally, clean up and delete the control group.
cg.delete();

// Note that `Cgroup` does not implement `Drop` and therefore when the
// structure is dropped, the Cgroup will stay around. This is because, later
// you can then re-create the `Cgroup` using `load()`. We aren't too set on
// this behavior, so it might change in the feature. Rest assured, it will be a
// major version change.

Disclaimer

This crate is licensed under:

  • MIT License (see LICENSE-MIT); or
  • Apache 2.0 License (see LICENSE-Apache-2.0),

at your option.

Please note that this crate is under heavy development, we will use sematic versioning, but during the 0.0.* phase, no guarantees are made about backwards compatibility.

Regardless, check back often and thanks for taking a look!

Description
No description provided
Readme 678 KiB
Languages
Rust 96.5%
Shell 3.2%
Makefile 0.3%