summaryrefslogtreecommitdiffstats
path: root/scripts/master_daemon.py
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-06-17 15:39:00 +0300
committerYaroslav Brustinov <ybrustin@cisco.com>2016-06-17 15:39:00 +0300
commit3207f14a91cc01b44b28ba541e5968f58a7e5ec2 (patch)
tree385b01222b2ad25a9b98403634b7e0b4161c40ea /scripts/master_daemon.py
parent0e3621ee07983ce18b83761a794356e910702c42 (diff)
add ctrl+c as first try to kill daemons/TRex.
master daemon change directory to "/" to deal with case it's directory was deleted and update_trex() was used. remove check connection to daemons as part of init of client (can be done manually per needed daemon)
Diffstat (limited to 'scripts/master_daemon.py')
-rwxr-xr-xscripts/master_daemon.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/scripts/master_daemon.py b/scripts/master_daemon.py
index 3f130bdb..e50d49ee 100755
--- a/scripts/master_daemon.py
+++ b/scripts/master_daemon.py
@@ -119,14 +119,16 @@ def start_master_daemon_func():
server.register_function(stl_rpc_proxy.start, 'start_stl_rpc_proxy')
server.register_function(stl_rpc_proxy.stop, 'stop_stl_rpc_proxy')
server.register_function(server.funcs.keys, 'get_methods') # should be last
- signal.signal(signal.SIGTSTP, stop_handler)
- signal.signal(signal.SIGTERM, stop_handler)
+ signal.signal(signal.SIGTSTP, stop_handler) # ctrl+z
+ signal.signal(signal.SIGTERM, stop_handler) # kill
server.serve_forever()
+ except KeyboardInterrupt:
+ logging.info('Ctrl+C')
except Exception as e:
logging.error('Closing due to error: %s' % e)
-def stop_handler(*args, **kwargs):
- logging.info('Got killed explicitly.')
+def stop_handler(signalnum, *args, **kwargs):
+ logging.info('Got signal %s, exiting.' % signalnum)
sys.exit(0)
# returns True if given path is under current dir or /tmp
@@ -191,6 +193,7 @@ master_daemon = SingletonDaemon('Master daemon', 'trex_master_daemon', args
tmp_dir = '/tmp/trex-tmp'
logging_file = '/var/log/trex/master_daemon.log'
logging_file_bu = '/var/log/trex/master_daemon.log_bu'
+os.chdir('/')
if not _check_path_under_current_or_temp(args.trex_dir):
raise Exception('Only allowed to use path under /tmp or current directory')