mirror of https://github.com/krallin/tini.git
tini only kills the immediate child process. This means that if you do, for example, docker run krallin/ubuntu-tini sh -c 'sleep 10' and ctrl-C it, nothing happens: SIGINT is sent to the 'sh' process, but that shell won't react to it while it is waiting for the 'sleep' to finish. This change adds a -g option to put the child process of tini into a new process group, and sends signals to that group, so that every process in the group gets a signal. This corresponds more closely to what happens when you do ctrl-C etc. in a terminal: The signal is sent to the foreground process group. So if you try the example above with a container image that passes -g to tini, the SIGINT will be received by the 'sleep', and the container promptly exits.pull/16/head
parent
1bfde9c126
commit
109019f917
3 changed files with 53 additions and 3 deletions
Loading…
Reference in new issue