fix windows restart
This commit is contained in:
parent
d0c19737f9
commit
d32e1527a8
3 changed files with 64 additions and 10 deletions
30
oml/utils.py
30
oml/utils.py
|
|
@ -433,3 +433,33 @@ def update_static():
|
|||
for file in files
|
||||
])
|
||||
)
|
||||
|
||||
def check_pid(pid):
|
||||
try:
|
||||
os.kill(pid, 0)
|
||||
except:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
def check_pidfile(pid):
|
||||
try:
|
||||
with open(pid) as fd:
|
||||
pid = int(fd.read())
|
||||
except:
|
||||
return False
|
||||
return check_pid(pid)
|
||||
|
||||
def ctl(*args):
|
||||
if sys.platform == 'win32':
|
||||
import settings
|
||||
platform_win32 = os.path.normpath(os.path.join(settings.base_dir, '..', 'platform_win32'))
|
||||
python = os.path.join(platform_win32, 'pythonw.exe')
|
||||
cmd = [python, 'oml'] + list(args)
|
||||
startupinfo = subprocess.STARTUPINFO()
|
||||
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
|
||||
startupinfo.wShowWindow = subprocess.SW_HIDE
|
||||
subprocess.Popen(cmd, cwd=settings.base_dir, start_new_session=True, startupinfo=startupinfo)
|
||||
else:
|
||||
subprocess.Popen([os.path.join(settings.base_dir, 'ctl')] + list(args),
|
||||
close_fds=True, start_new_session=True)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue