我做了一个课程,开始一些程序,当我做了一些事情的时候就杀了。 但它似乎在附近徘徊。它有一个setup和teardown函数以及用于存储进程的变量。你知道吗
我现在不关心标准和标准。我只是觉得我需要把它包括进去。你知道吗
class ServerClient(object):
def __init__(self):
self.server_process = None
self.client_process = None
def setUp(self):
self.server_process = subprocess.Popen(
['python', 'servlet.py'],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
self.client_process = subprocess.Popen(
['python', 'client.py'],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
)
time.sleep(2)
def tearDown(self):
if self.server_process is not None:
try:
print "Killing Server"
self.server_process.terminate()
self.server_process.wait()
except OSError:
pass
self.server_process = None
if self.client_process is not None:
try:
print "Killing Client"
self.client_process.terminate()
self.client_process.wait()
except OSError:
pass
self.client_process = None
if __name__ == '__main__':
sc = ServerClient()
sc.setUp()
# Do stuff
sc.tearDown()
(在POSIX OS上)terminate()向进程发送SIGTERM。试试看
如果希望服务器或客户机生成进程,则必须以不同方式调用Popen并使用操作系统killpg. 你知道吗
相关问题 更多 >
编程相关推荐