diff options
Diffstat (limited to 'doc/s6-setsid.html')
-rw-r--r-- | doc/s6-setsid.html | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/doc/s6-setsid.html b/doc/s6-setsid.html index 2fe991b..d5046af 100644 --- a/doc/s6-setsid.html +++ b/doc/s6-setsid.html @@ -18,29 +18,58 @@ <h1> The s6-setsid program </h1> <p> -s6-setsid runs a program as session leader. + s6-setsid runs a program as a new session leader, or in a new +foreground or background process group. </p> <h2> Interface </h2> <pre> - s6-setsid [ -I | -i ] <em>prog...</em> + s6-setsid [ -s | -b | -f | -g ] [ -i | -I | -q ] [ -d ctty ] <em>prog...</em> </pre> <ul> - <li> s6-setsid creates a new session if it is not a session leader, and becomes -session leader of this new session. </li> - <li> It then executes into <em>prog...</em>. </li> + <li> s6-setsid creates a new session, or a new process group, +and may make that process group the foreground process group, +depending on the options it has been given. </li> + <li> As session leader or process group leader, s6-setsid then +executes into <em>prog...</em>. </li> </ul> <h2> Options </h2> <ul> - <li> <tt>-i</tt> : strict. If s6-setsid is already a session leader, it will -exit 111 with an error message. </li> - <li> <tt>-I</tt> : loose. If s6-setsid is already a session leader, it will -print a warning message, but exec into <em>prog</em> nonetheless. This is the -default. </li> + <li> <tt>-s</tt> : session. s6-setsid will try and execute +<em>prog</em> as a session leader. This is the default. </li> + <li> <tt>-b</tt> : background process group. s6-setsid will +not create a new session, but will create a new process group, and +try and execute <em>prog</em> as the new process group leader. </li> + <li> <tt>-f</tt> : foreground process group. s6-setsid will +not create a new session, but will create a new process group and +attach its session's controlling terminal to the new process group +before executing <em>prog</em>. However, the new process group +will likely be stopped, waiting for the former foreground process +group to relinquish the controlling terminal, and will need to be +sent a SIGCONT to resume. To avoid that, use the next option. </li> + <li> <tt>-g</tt> : grab terminal. s6-setsid will +not create a new session, but will create a new process group and +attach its session's controlling terminal to the new process group +before executing <em>prog</em>. It will forcefully grab the controlling +terminal from the former foreground process group, which means that +a process belonging to the former foreground process group attempting +to read from or write to that terminal will be stopped. </li> + <li> <tt>-i</tt> : strict. If s6-setsid cannot perform the +operations it needs, it will exit 111 with an error message. </li> + <li> <tt>-I</tt> : loose. If s6-setsid cannot perform the operations, +it will print a warning message, but exec into <em>prog</em> nonetheless. +This is the default. </li> + <li> <tt>-q</tt> : silent. s6-setsid will not print any warning +message; it will exec into <em>prog</em> even if it cannot perform the +operations. </li> + <li> <tt>-d <em>ctty</em></tt> : assume <em>ctty</em> is +the controlling terminal for the current session. Default is 0. +This is only useful when used with the <tt>-f</tt> or +<tt>-g</tt> options. </li> </ul> </body> |