Struct cgroups_rs::freezer::FreezerController[][src]

pub struct FreezerController { /* fields omitted */ }

A controller that allows controlling the freezer subsystem of a Cgroup.

In essence, this subsystem allows the user to freeze and thaw (== “un-freeze”) the processes in the control group. This is done transparently so that neither the parent, nor the children of the processes can observe the freeze.

Note that if the control group is currently in the Frozen or Freezing state, then no processes can be added to it.

Implementations

impl FreezerController[src]

pub fn new(root: PathBuf, v2: bool) -> Self[src]

Contructs a new FreezerController with root serving as the root of the control group.

pub fn freeze(&self) -> Result<()>[src]

Freezes the processes in the control group.

pub fn thaw(&self) -> Result<()>[src]

Thaws, that is, unfreezes the processes in the control group.

pub fn state(&self) -> Result<FreezerState>[src]

Retrieve the state of processes in the control group.

Trait Implementations

impl Clone for FreezerController[src]

impl Debug for FreezerController[src]

impl<'a> From<&'a Subsystem> for &'a FreezerController[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Controller for T where
    T: ControllerInternal, 
[src]

pub fn apply(&Self, &Resources) -> Result<(), Error>[src]

Apply a set of resources to the Controller, invoking its internal functions to pass the kernel the information.

pub fn create(&Self)[src]

Create this controller

pub fn set_notify_on_release(&Self, bool) -> Result<(), Error>[src]

Set notify_on_release

pub fn set_release_agent(&Self, &str) -> Result<(), Error>[src]

Set release_agent

pub fn exists(&Self) -> bool[src]

Does this controller already exist?

pub fn delete(&Self) -> Result<(), Error>[src]

Delete the controller.

pub fn add_task(&Self, &CgroupPid) -> Result<(), Error>[src]

Attach a task to this controller.

pub fn add_task_by_tgid(&Self, &CgroupPid) -> Result<(), Error>[src]

Attach a task to this controller by thread group id.

pub fn tasks(&Self) -> Vec<CgroupPid, Global>[src]

Get the list of tasks that this controller has.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.