[yocto] [PATCH 2/2] Kill suprocesses when pressing ctrl+c
Marius Avram
marius.avram at intel.com
Thu Aug 21 08:03:44 PDT 2014
This way the created bitbake subprocesses from the upgrade script
are killed as well when you press ctrl+c.
Signed-off-by: Marius Avram <marius.avram at intel.com>
---
upgradehelper.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/upgradehelper.py b/upgradehelper.py
index 9ddfcb5..4ee65d5 100755
--- a/upgradehelper.py
+++ b/upgradehelper.py
@@ -35,6 +35,7 @@ from logging import warning as W
from logging import error as E
from logging import critical as C
import re
+import signal
import sys
import ConfigParser as cp
from datetime import datetime
@@ -645,11 +646,16 @@ class UniverseUpdater(Updater):
self.prepare()
super(UniverseUpdater, self).run()
+def close_child_processes(signal_id, frame):
+ pid = os.getpgrp()
+ os.killpg(pid, signal.SIGKILL)
if __name__ == "__main__":
global settings
global maintainer_override
+ signal.signal(signal.SIGINT, close_child_processes)
+
debug_levels = [log.CRITICAL, log.ERROR, log.WARNING, log.INFO, log.DEBUG]
args = parse_cmdline()
log.basicConfig(format='%(levelname)s:%(message)s',
--
1.7.9.5
More information about the yocto
mailing list