from subprocess import Popen
@staticmethoddefshell_cmd_timeout(cmd, timeout=0, cwd=None, env=None):cmd_open = Popen(cmd, shell=True, cwd=cwd, env=env)ifnotcmd_open:return-1t_timeout = timeout tick =3ret =NonewhileTrue: time.sleep(tick) ret = cmd_open.poll()ifretisnotNone:breakift_timeout >0: t_timeout -= tickift_timeout <=0:# timeout, kill commandtry: cmd_open.kill() cmd_open.wait()exceptOSError:passret =-99999breakreturnret
作者:橙姜
链接:https://www.jianshu.com/p/f0974735ad17
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网友评论