/usr/lib/python3.6/site-packages/cloudinit
NameSizeModeActions
analyze/-0755rm
cmd/-0755rm
config/-0755rm
distros/-0755rm
filters/-0755rm
handlers/-0755rm
mergers/-0755rm
net/-0755rm
reporting/-0755rm
sources/-0755rm
__pycache__/-0755rm
apport.py72240644editdlrm
atomic_helper.py25050644editdlrm
cloud.py32960644editdlrm
dmi.py69340644editdlrm
event.py20510644editdlrm
features.py34640644editdlrm
gpg.py43790644editdlrm
helpers.py168010644editdlrm
importer.py24850644editdlrm
log.py56050644editdlrm
netinfo.py235230644editdlrm
persistence.py25820644editdlrm
registry.py10220644editdlrm
safeyaml.py105310644editdlrm
settings.py20680644editdlrm
signal_handler.py17800644editdlrm
simpletable.py19760644editdlrm
ssh_util.py228100644editdlrm
stages.py398180644editdlrm
subp.py135440644editdlrm
templater.py60920644editdlrm
temp_utils.py32230644editdlrm
type_utils.py7030644editdlrm
url_helper.py279710644editdlrm
user_data.py147780644editdlrm
util.py987410644editdlrm
version.py5660644editdlrm
warnings.py38530644editdlrm
__init__.py00644editdlrm
Edit: /usr/lib/python3.6/site-packages/cloudinit/signal_handler.py (1780B)
# Copyright (C) 2012 Canonical Ltd. # Copyright (C) 2012 Yahoo! Inc. # # Author: Scott Moser # Author: Joshua Harlow # # This file is part of cloud-init. See LICENSE file for license information. import inspect import logging import signal import sys from io import StringIO from cloudinit import util from cloudinit import version as vr LOG = logging.getLogger(__name__) BACK_FRAME_TRACE_DEPTH = 3 EXIT_FOR = { signal.SIGINT: ("Cloud-init %(version)s received SIGINT, exiting...", 1), signal.SIGTERM: ("Cloud-init %(version)s received SIGTERM, exiting...", 1), # Can't be caught... # signal.SIGKILL: ('Cloud-init killed, exiting...', 1), signal.SIGABRT: ("Cloud-init %(version)s received SIGABRT, exiting...", 1), } def _pprint_frame(frame, depth, max_depth, contents): if depth > max_depth or not frame: return frame_info = inspect.getframeinfo(frame) prefix = " " * (depth * 2) contents.write("%sFilename: %s\n" % (prefix, frame_info.filename)) contents.write("%sFunction: %s\n" % (prefix, frame_info.function)) contents.write("%sLine number: %s\n" % (prefix, frame_info.lineno)) _pprint_frame(frame.f_back, depth + 1, max_depth, contents) def _handle_exit(signum, frame): (msg, rc) = EXIT_FOR[signum] msg = msg % ({"version": vr.version_string()}) contents = StringIO() contents.write("%s\n" % (msg)) _pprint_frame(frame, 1, BACK_FRAME_TRACE_DEPTH, contents) util.multi_log(contents.getvalue(), console=True, stderr=False, log=LOG) sys.exit(rc) def attach_handlers(): sigs_attached = 0 for signum in EXIT_FOR.keys(): signal.signal(signum, _handle_exit) sigs_attached += len(EXIT_FOR) return sigs_attached