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