31 lines
737 B
Python
31 lines
737 B
Python
# -*- coding: utf-8 -*-
|
|
import os
|
|
import time
|
|
|
|
def getRuningProgramPids(progname):
|
|
pids = []
|
|
lines = os.popen('ps -ef | grep %s' % progname).readlines()
|
|
for l in lines:
|
|
line = ''
|
|
oldc = ''
|
|
for c in l.strip():
|
|
if c in [' ', '\t'] and c == oldc:
|
|
continue
|
|
oldc = c
|
|
line += c
|
|
line = line.split(' ')
|
|
|
|
if line[7] == './%s' % progname:
|
|
pids.append(line[1])
|
|
return pids
|
|
|
|
def monitor_wsp():
|
|
while True:
|
|
pids = getRuningProgramPids('wsproxy2001')
|
|
if len(pids) <= 0:
|
|
print('zzzz')
|
|
os.popen('nohup ./wsproxy2001 -n1 -i1 >> wsproxy2001.out 2>&1 &')
|
|
time.sleep(2)
|
|
|
|
monitor_wsp()
|