1# Job
2
3## NAME
4
5job - Control a group of processes
6
7## SYNOPSIS
8
9A job is a group of processes and possibly other (child) jobs. Jobs are used to
10track privileges to perform kernel operations (i.e., make various syscalls,
11with various options), and track and limit basic resource (e.g., memory, CPU)
12consumption. Every process belongs to a single job. Jobs can also be nested,
13and every job except the root job also belongs to a single (parent) job.
14
15## DESCRIPTION
16
17A job is an object consisting of the following:
18+ a reference to a parent job
19+ a set of child jobs (each of whom has this job as parent)
20+ a set of member [processes](process.md)
21+ a set of policies [⚠ not implemented]
22
23Jobs control "applications" that are composed of more than one process to be
24controlled as a single entity.
25
26## SYSCALLS
27
28+ [job_create](../syscalls/job_create.md) - create a new child job.
29+ [process_create](../syscalls/process_create.md) - create a new process
30  within a job.
31+ [job_set_policy](../syscalls/job_set_policy.md) - set policy for
32  new processes in the job.
33+ [task_bind_exception_port](../syscalls/task_bind_exception_port.md) -
34  attach an exception port to a task
35+ [task_kill](../syscalls/task_kill.md) - cause a task to stop running.
36