add get_subtree_control

This commit is contained in:
mii443
2024-10-17 07:39:07 +00:00
parent af5fa6fcbf
commit 8ccd662792
2 changed files with 10 additions and 1 deletions

View File

@ -6,6 +6,7 @@ fn main() {
println!("{}", cgroup.check_status()); println!("{}", cgroup.check_status());
println!("{:?}", cgroup.read("cgroup.type")); println!("{:?}", cgroup.read("cgroup.type"));
println!("{:?}", cgroup.get_controllers()); println!("{:?}", cgroup.get_controllers());
println!("{:?}", cgroup.get_subtree_control());
println!("{:?}", cgroup.get_procs()); println!("{:?}", cgroup.get_procs());
println!("{:?}", cgroup.get_stat()); println!("{:?}", cgroup.get_stat());
} }

View File

@ -57,8 +57,16 @@ impl CGroup {
} }
pub fn get_controllers(&self) -> Result<Vec<Controller>, std::io::Error> { pub fn get_controllers(&self) -> Result<Vec<Controller>, std::io::Error> {
self.inner_get_controllers("cgroup.controllers")
}
pub fn get_subtree_control(&self) -> Result<Vec<Controller>, std::io::Error> {
self.inner_get_controllers("cgroup.subtree_control")
}
fn inner_get_controllers(&self, name: &str) -> Result<Vec<Controller>, std::io::Error> {
let controllers = self let controllers = self
.read("cgroup.controllers")? .read(name)?
.trim() .trim()
.split(" ") .split(" ")
.map(|controller| Controller::from_str(controller).unwrap_or(Controller::Unknown)) .map(|controller| Controller::from_str(controller).unwrap_or(Controller::Unknown))