[yocto] [AUH][PATCH v3 2/2] Kill suprocesses when pressing ctrl+c
Marius Avram
marius.avram at intel.com
Fri Aug 22 02:08:50 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 658ec43..6be7ac2 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
@@ -648,11 +649,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