diff options
-rw-r--r-- | man/systemctl.xml | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/man/systemctl.xml b/man/systemctl.xml index b4727d9730..94f238041a 100644 --- a/man/systemctl.xml +++ b/man/systemctl.xml @@ -371,11 +371,36 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. <listitem> <para>When used with <command>kill</command>, choose which - processes to kill. Must be one of <option>main</option>, - <option>control</option> or <option>all</option> to select - whether to kill only the main process of the unit, the - control process or all processes of the unit. If omitted, - defaults to <option>all</option>.</para> + processes to send a signal to. Must be one of + <option>main</option>, <option>control</option> or + <option>all</option> to select whether to kill only the main + process, the control process or all processes of the + unit. The main process of the unit is the one that defines + the life-time of it. A control process of a unit is one that + is invoked by the manager to induce state changes of it. For + example, all processes started due to the + <varname>ExecStartPre=</varname>, + <varname>ExecStop=</varname> or + <varname>ExecReload=</varname> settings of service units are + control processes. Note that there is only one control + process per unit at a time, as only one state change is + executed at a time. For services of type + <varname>Type=forking</varname> the initial process started + by the manager for <varname>ExecStart=</varname> is a + control process, while the process ultimately forked off by + that one is then considered the main process of the unit (if + it can be determined). This is different for service units + of other types, where the process forked off by the manager + for <varname>ExecStart=</varname> is always the main process + itself. A service unit consists of no or one main process, + no or one control process plus any number of additional + processes. Not all unit types manage processes of these + types however. For example for mount units control processes + are defined (which are the invocations of + <filename>/usr/bin/mount</filename> and + <filename>/usr/bin/umount</filename>), but no main process + is defined. If omitted, defaults to + <option>all</option>.</para> </listitem> </varlistentry> |