title: Don't send SIGINT on CTRL+C to child processes but don't ignore the signal itself
body: <p>I'm trying to write a Task control program, very much like Supervisor.</p>
  
  <p>I run some programs from a config file and let them run in the background, while in the main process I read and execute other commands.</p>
  
  <p>Before <code>fork()</code>-ing, in the main process I call:</p>
  
  <pre><code>sigaction(SIGINT, &amp;the_handler, NULL);
  </code></pre>
  
  <p>Where <code>the_handler</code> stores the reference of a simple print function.</p>
  
  <p>When CTRL+C is pressed, the child processes are interrupted as well (which I don't want).
  I could run: <code>signal(SIGINT, SIG_IGN);</code> after fork in child process to ignore it, but I would like to still to be able to run this command in bash: <code>$ kill -n 2 &lt;child_pid&gt;</code>, meaning, I don't want to ignore it, right?</p>
  
  <p>So, how to ignore SIGINT from CTRL+C to child processes, but still be able to receive the signal in other ways? Or am I missing something?</p>