aboutsummaryrefslogtreecommitdiffstats
path: root/doc/info/orphan-reaper.texinfo
blob: 05d9df07b744e802066ad012e4b6360e93b2c35c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
\input texinfo   @c -*-texinfo-*-

@c %**start of header
@setfilename orphan-reaper.info
@settitle orphan-reaper
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header


@dircategory Miscellaneous
@direntry
* orphan-reaper: (orphan-reaper).    Place subreapers in your process tree to keep it structured
@end direntry


@copying
Copyright @copyright{} 2014 Mattias Andrée

@quotation
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 no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying

@ifnottex
@node Top
@top orphan-reaper -- Place subreapers in your process tree to keep it structured
@insertcopying
@end ifnottex

@titlepage
@title orphan-reaper
@subtitle Place subreapers in your process tree to keep it structured
@author by Mattias Andrée (maandree)

@page
@c @center `'
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@contents



@menu
* Overview::                        Brief overview of @command{orphan-reaper}.
* Invoking::                        Invocation of @command{orphan-reaper}.
* GNU Free Documentation License::  Copying and sharing this manual.
@end menu



@node Overview
@chapter Overview

This a daemon spawns a process and reaps all orphaned
grandchildren. This is useful if you want to keep
your process tree clean. For instance if you want
all programs started from inside the same display
server instance to appear to be inside that display
if you look inside the process tree, rather than all
processes that loses their parent being reparented
to PID 1 and make a mess on your process tree.



@node Invoking
@chapter Invoking

@command{orphan-reaper} recognises one option:

@table @option
@item --fatal
If this option is used, @command{orphan-reaper}
will return with exit value 2 if it is unable
to set up a subreaper. If this option is not
used, @command{orphan-reaper} will proceed to
start the specified command even if it cannot
create a subreaper under it.
@end table

After the optional option you should specify
a command in the same mannar as you would
start it normally. If the command starts
with a dash (-) you must add the argument
@option{--} before it.

Once @command{orphan-reaper} has configured
itself to be a subreaper and spawned the
specified command it will reexecute into
@command{reapd} (a libexec) to save memory,
@command{reapd} does nothing at all except
reaping children (processes that they before
their parent are automatically reparented
by the kernel to be a child of @command{reapd}),
and exit with exit value 0 when it no longer
have any children (at which point it cannot
get any new children). It will also print
exit with exit value 2, after it has printed
an error message, if it encounters an error.



@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo

@bye