pub struct Job { /* private fields */ }
Expand description

Control a group of processes

SYNOPSIS

A job is a group of processes and possibly other (child) jobs. Jobs are used to track privileges to perform kernel operations (i.e., make various syscalls, with various options), and track and limit basic resource (e.g., memory, CPU) consumption. Every process belongs to a single job. Jobs can also be nested, and every job except the root job also belongs to a single (parent) job.

DESCRIPTION

A job is an object consisting of the following:

  • a reference to a parent job
  • a set of child jobs (each of whom has this job as parent)
  • a set of member processes
  • a set of policies

Jobs control “applications” that are composed of more than one process to be controlled as a single entity.

Implementations

Create the root job.

Create a new child job object.

Get the policy of the job.

Get the parent job.

Sets one or more security and/or resource policies to an empty job.

The job’s effective policies is the combination of the parent’s effective policies and the policies specified in policy.

After this call succeeds any new child process or child job will have the new effective policy applied to it.

Sets timer slack policy to an empty job.

Get information of this job.

Check whether this job is root job.

Get KoIDs of Processes.

Get KoIDs of children Jobs.

Return true if this job has no processes and no child jobs.

Trait Implementations

Formats the value using the given formatter. Read more

Executes the destructor for this type. Read more

Get object’s KoID.

Get the name of the type of the kernel object.

Get object’s name.

Set object’s name.

Get the signal status.

Assert signal.

Deassert signal.

Change signal status: first clear then set indicated bits. Read more

Add callback for signal status changes. Read more

Attempt to find a child of the object with given KoID. Read more

If the object is related to another (such as the other end of a channel, or the parent of a job), returns the KoID of that object, otherwise returns zero. Read more

Attempt to get the object’s peer. Read more

Get object’s allowed signals.

Kill the job. The job do not terminate immediately when killed. It will terminate after all its children and processes are terminated.

Suspend the task. Currently only thread or process handles may be suspended.

Resume the task

Get the exceptionate.

Get the debug exceptionate.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Casts the value.

Casts the value.

Casts the value.

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Casts the value.

Casts the value.

Casts the value.

Casts the value.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Casts the value.

Casts the value.

Casts the value.

Casts the value.