提交 97cba1a1 编写于 作者: F Fam Zheng

docker: Terminate instances at SIGTERM and SIGHUP

Signed-off-by: NFam Zheng <famz@redhat.com>
Message-Id: <1474429768-25027-9-git-send-email-famz@redhat.com>
Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
上级 ec960b9a
...@@ -21,6 +21,7 @@ import uuid ...@@ -21,6 +21,7 @@ import uuid
import argparse import argparse
import tempfile import tempfile
import re import re
import signal
from tarfile import TarFile, TarInfo from tarfile import TarFile, TarInfo
from StringIO import StringIO from StringIO import StringIO
from shutil import copy, rmtree from shutil import copy, rmtree
...@@ -101,6 +102,8 @@ class Docker(object): ...@@ -101,6 +102,8 @@ class Docker(object):
self._command = _guess_docker_command() self._command = _guess_docker_command()
self._instances = [] self._instances = []
atexit.register(self._kill_instances) atexit.register(self._kill_instances)
signal.signal(signal.SIGTERM, self._kill_instances)
signal.signal(signal.SIGHUP, self._kill_instances)
def _do(self, cmd, quiet=True, infile=None, **kwargs): def _do(self, cmd, quiet=True, infile=None, **kwargs):
if quiet: if quiet:
...@@ -133,7 +136,7 @@ class Docker(object): ...@@ -133,7 +136,7 @@ class Docker(object):
self._do_kill_instances(False, False) self._do_kill_instances(False, False)
return 0 return 0
def _kill_instances(self): def _kill_instances(self, *args, **kwargs):
return self._do_kill_instances(True) return self._do_kill_instances(True)
def _output(self, cmd, **kwargs): def _output(self, cmd, **kwargs):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册