This patch adds a command to kill the parent process of a container
based on the container uuid, triggering the death of the container.
The os.kill command interacts pretty badly with the custom built
children handling, causing us to catch unwanted exceptions in an effort
to keep the code running. The waitpid code was also missing a bit about
catching children exiting because of signals, so we fixed that.
At this point, two things should be paid attention to:
- we don't distinguish properly between a container and a command.
This will probably cause issues later, as it should be possible to
launch multiple programs in the same container, and for partitions to
survive the death of the parent process.
- the message format is growing more complex, but without any
component having strong ownership over it. This will probably cause
stability issues in the long term, as the format complexifies and we
lose track of the fields expected from everyone.