Hello,<div><br></div><div>I am observing that if two containers are spawned via lxc-execute and if these happen to be in  the same process group, a process inside one container can terminate the second container by sending a SIGTERM to the process group.</div>
<div><br></div><div><br></div><div>Code snippet of the test program that was running inside the container (via lxc-execute):-</div><div>--</div><div><div>void handle_term(int sig)</div><div>{</div><div>  signal(SIGTERM, SIG_DFL);</div>
<div>  kill(0, SIGTERM);</div><div>}</div><div><br></div><div>int main()</div><div>{</div><div>  signal(SIGTERM, handle_term);</div><div>  sleep(3600);</div><div>}</div></div><div>----</div><div><br></div><div>I forked two copies of this via lxc-execute and made sure that they have the same process group ID and sent a SIGTERM to the first lxc-execute.</div>
<div><br></div><div>The second container (where SIGTERM was not sent) apparently gets a SIGTERM from PID 2 of the first container.</div><div><br></div><div>---</div><div>write(3, "    lxc-execute 1334131101.756 INFO     lxc_start - received  signal 15 from pid 2, uid 36886\n", 94) = 94</div>
<div>write(3, "    lxc-execute 1334131101.756 INFO     lxc_start - forwarded signal 15 to pid 14875\n", 85) = 85</div><div>---</div><div><br></div><div><div>Is this expected behavior ? Shouldn't two process in independent PID namespaces get their own copy of process group IDs ? </div>
</div><div><br></div><div><br></div><div>Thanks,</div><div>Arun</div><div><br></div>