<div dir="ltr"><div>Hi Professor,</div><div><br></div><div>Context:<br></div><div>I wanted a quick clarification on a minor issue: the expected return code in <span style="font-family:monospace">sish(1)</span> after capturing <span style="font-family:monospace">SIGINT<font face="arial,sans-serif">.</font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><br></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif">Question:<br></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif">The manual page states that a &quot;status of 127 should be returned if the given command could not be executed for any reason.&quot; I interpreted &quot;could not be executed&quot; as &quot;could not begin executing&quot;.</font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><br></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif">However, if <span style="font-family:monospace">SIGINT<font face="arial,sans-serif"> is sent to an currently-executing child process of the shell, should we still return 127, or mimic <font face="monospace">sh(1)<font face="arial,sans-serif"> behavior?</font></font> This question extends to expected behavior of entering </font>^C<font face="arial,sans-serif"> in interactive mode, while no command is currently executing.<br></font></span></font></span></div><div><br></div><div><font face="arial,sans-serif">My Findings:</font><br></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><span style="font-family:monospace"><font face="arial,sans-serif"></font></span></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><font face="monospace"><font face="arial,sans-serif">Apparently it&#39;s required by POSIX for the exit code for processes which were terminated by a signal is greater than 128. It seems that most shells use 128 + N in this case, where N is the number signal (thus when terminated by SIGINT, the exit status is 130). Is it correct and expected that I should handle termination by a signal as a special case?</font></font></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><font face="monospace"><font face="arial,sans-serif"><br></font></font></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><font face="monospace"><font face="arial,sans-serif">Best,</font></font></font></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif"><font face="monospace"><font face="arial,sans-serif">David Sevilla.</font></font></font></span><br></div></div>