diff --git a/bin/linux/restart.py b/bin/linux/restart.py index 5d49a22c3820..241e5a187cde 100755 --- a/bin/linux/restart.py +++ b/bin/linux/restart.py @@ -5,20 +5,24 @@ import os import signal import sys +import syslog import time if len(sys.argv) < 3: raise Exception('usage: restart.py [optional command]') -signal.signal(signal.SIGHUP, signal.SIG_IGN) +try: + signal.signal(signal.SIGHUP, signal.SIG_IGN) -pid = int(sys.argv[1]) -while os.getppid() == pid: - time.sleep(0.5) + pid = int(sys.argv[1]) + while os.getppid() == pid: + time.sleep(0.5) -if len(sys.argv) > 3: - to_launch = sys.argv[3:] - os.spawnv(os.P_WAIT, to_launch[0], to_launch) + if len(sys.argv) > 3: + to_launch = sys.argv[3:] + os.spawnv(os.P_WAIT, to_launch[0], to_launch) -to_launch = ['/usr/bin/open', sys.argv[2]] if sys.platform == 'darwin' else [sys.argv[2]] -os.execv(to_launch[0], to_launch) + to_launch = ['/usr/bin/open', sys.argv[2]] if sys.platform == 'darwin' else [sys.argv[2]] + os.execv(to_launch[0], to_launch) +except: + syslog.syslog(syslog.LOG_ERR, str(sys.exc_info()))