use super::process::Process;
use crate::{Current, ProcResult};
use procfs_core::CGroupControllers;
pub use procfs_core::{CGroupController, ProcessCGroups};
impl Current for CGroupControllers {
const PATH: &'static str = "/proc/cgroups";
}
pub fn cgroups() -> ProcResult<CGroupControllers> {
CGroupControllers::current()
}
impl Process {
pub fn cgroups(&self) -> ProcResult<ProcessCGroups> {
self.read("cgroup")
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_cgroups() {
let groups = cgroups().unwrap();
println!("{:?}", groups);
}
#[test]
fn test_process_cgroups() {
let myself = Process::myself().unwrap();
let groups = myself.cgroups();
println!("{:?}", groups);
}
}