From 9b289b6f3bf5420022147ef0cdff8a1a1f13be63 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Thu, 2 Jan 2014 19:18:08 +0000 Subject: [PATCH] Stop "fig up" containers gracefully With double ctrl-c force. --- fig/cli/main.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/fig/cli/main.py b/fig/cli/main.py index a8c89e570..d4ac576b9 100644 --- a/fig/cli/main.py +++ b/fig/cli/main.py @@ -1,6 +1,8 @@ import logging import sys import re +import signal +import sys from inspect import getdoc @@ -229,7 +231,13 @@ class TopLevelCommand(Command): try: log_printer.run() finally: - self.project.kill(service_names=options['SERVICE']) + def handler(signal, frame): + self.project.kill(service_names=options['SERVICE']) + sys.exit(0) + signal.signal(signal.SIGINT, handler) + + print "Gracefully stopping... (press Ctrl+C again to force)" + self.project.stop(service_names=options['SERVICE']) def _attach_to_container(self, container_id, interactive, logs=False, stream=True, raw=False): stdio = self.client.attach_socket(