首页
社区
课程
招聘
[原创]调用命令行,带超时时间
发表于: 2016-4-11 16:29 2529

[原创]调用命令行,带超时时间

2016-4-11 16:29
2529
# -*- coding: utf-8 -*-
from subprocess import Popen
import time

def PopenWithTimeout(cmd,timeout=3600):
    proc = Popen(cmd, shell=False)
    #print(proc.pid)  #shell=True 的话,则proc.pid的pid为shell的pid
   
    bFlag = True
    while timeout>0:
        if proc.poll()!=None:
            bFlag = False
            break
        time.sleep(1)
        timeout = timeout-1
        
    if bFlag:
        proc.kill()
   
cmd = 'nmap -v -O 192.168.1.1'
PopenWithTimeout(cmd,timeout=10)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//