• Swann Perarnau's avatar
    [feature] Add kill command · 63c2dea8
    Swann Perarnau authored
    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.
    63c2dea8
daemon.py 10.8 KB