我有两个脚本。
main.py
import threading
import time
import os
exitflag = 0
class Testrun(threading.Thread):
def __init__(self,threadID,name,delay):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.delay = delay
def run(self):
print 'launching test '+self.name
launch_test(self.name,self.delay)
print 'exitiing test '+self.name
def launch_test(threadname,delay):
os.system('test.py')
if exitflag ==1:
threadname.exit()
thread = Testrun(1,'test',10)
thread.start()
调用 test.py :
import time
while True:
print 'hello'
time.sleep(1)
延迟30秒后,我想终止 test.py 我使用的是python 2.4.2。 有事件生成有没有办法做到这一点 对此代码或任何其他替代模块的任何建议都可以。
答案 0 :(得分:0)
更好的选择是使用subprocess
模块(https://docs.python.org/2/library/subprocess.html)来启动外部进程。另见这篇文章:How to terminate a python subprocess launched with shell=True