mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[platform] exception logging in Unix restarter script
This commit is contained in:
@@ -5,20 +5,24 @@
|
||||
import os
|
||||
import signal
|
||||
import sys
|
||||
import syslog
|
||||
import time
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
raise Exception('usage: restart.py <pid> <path> [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()))
|
||||
|
||||
Reference in New Issue
Block a user