可能重复:
subprocess with timeout
Best way to launch a process and block until it is finished
我有一个python代码,我需要运行像“curl --user ....”这样的Linux命令。我需要运行此命令3600秒。 3600秒后,我需要杀死“Linux命令进程”。我怎么可能这样做?
def timeout_command(command, timeout):
import os, datetime, time, signal
start = datetime.datetime.now()
time_pass = 0
while (time_pass < timeout):
process = os.system(command)
now = datetime.datetime.now()
time_pass = (now-start).seconds
print time_pass
print timeout_command("curl --user...", 3600)
print "Other2"
print "Other3"
关于如何杀死它的任何线索:“process = os.system(command)”?
最诚挚的问候,
答案 0 :(得分:2)
子进程是优雅的方式。如果您正在使用多处理(您可以每隔3600秒启动一个子进程),请使用os.system(“kill -9 + multiprocessing.current_process()。pid)在3600秒后终止子进程