:( Don't let my confusion upset you so. I'm just not an expert on these things and there is a lot to take in. I think that the following section makes it a little confusing 'before interpreting the command. If the program exits with return code 0' It might be a little clearer, language-wise, if the text stays with using script instead of using command and program interchangeably with script (they are different, are they not?). Separating out the exceptions would also highlight them. So the text would be something like: Customise Control For each control character c sent to the control pipe, runsv first checks if service/control/c exists and is executable. If so, it starts service/control/c and waits for it to terminate, before interpreting the result (return code) of the script. If the script exits with return code 0, runsv refrains from sending the service the corresponding signal. If the script exits with a return code greater than 0 the corresponding signal is sent to the service. Notes for Customised Control: The command o is always considered as command u. On command d first service/control/t is checked, and then service/control/d. On command x first service/control/t is checked, and then service/control/x. The control of the optional log service cannot be customized.