blob: 601679b8312d62852d1f056e3077fef27b35d0cc [file] [log] [blame]
<html lang="en">
<head>
<title>Job Control - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Processes.html#Processes" title="Processes">
<link rel="next" href="Name-Service-Switch.html#Name-Service-Switch" title="Name Service Switch">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.
This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below. A
copy of the license is included in the section entitled "GNU Free
Documentation License".
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Job-Control"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Name-Service-Switch.html#Name-Service-Switch">Name Service Switch</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Processes.html#Processes">Processes</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<!-- %MENU% All about process groups and sessions -->
<h2 class="chapter">27 Job Control</h2>
<p><a name="index-process-groups-3196"></a><a name="index-job-control-3197"></a><a name="index-job-3198"></a><a name="index-session-3199"></a><dfn>Job control</dfn> refers to the protocol for allowing a user to move
between multiple <dfn>process groups</dfn> (or <dfn>jobs</dfn>) within a single
<dfn>login session</dfn>. The job control facilities are set up so that
appropriate behavior for most programs happens automatically and they
need not do anything special about job control. So you can probably
ignore the material in this chapter unless you are writing a shell or
login program.
<p>You need to be familiar with concepts relating to process creation
(see <a href="Process-Creation-Concepts.html#Process-Creation-Concepts">Process Creation Concepts</a>) and signal handling (see <a href="Signal-Handling.html#Signal-Handling">Signal Handling</a>) in order to understand this material presented in this
chapter.
<ul class="menu">
<li><a accesskey="1" href="Concepts-of-Job-Control.html#Concepts-of-Job-Control">Concepts of Job Control</a>: Jobs can be controlled by a shell.
<li><a accesskey="2" href="Job-Control-is-Optional.html#Job-Control-is-Optional">Job Control is Optional</a>: Not all POSIX systems support job control.
<li><a accesskey="3" href="Controlling-Terminal.html#Controlling-Terminal">Controlling Terminal</a>: How a process gets its controlling terminal.
<li><a accesskey="4" href="Access-to-the-Terminal.html#Access-to-the-Terminal">Access to the Terminal</a>: How processes share the controlling terminal.
<li><a accesskey="5" href="Orphaned-Process-Groups.html#Orphaned-Process-Groups">Orphaned Process Groups</a>: Jobs left after the user logs out.
<li><a accesskey="6" href="Implementing-a-Shell.html#Implementing-a-Shell">Implementing a Shell</a>: What a shell must do to implement job control.
<li><a accesskey="7" href="Functions-for-Job-Control.html#Functions-for-Job-Control">Functions for Job Control</a>: Functions to control process groups.
</ul>
</body></html>