我有一个进程是通过subprocess.Popen()
启动的,它意味着无限期地运行。我遇到的问题是这个过程似乎在大约20秒后停止运行。果然,当我检查top
时,它表明该过程将要进入睡眠状态。当我手动运行命令时,这不会发生。以子进程模块启动的进程进入休眠状态
任何人都知道我可以如何阻止这种情况发生?
这是子电话:
aireplay = subprocess.Popen('aireplay-ng -3 -b ' + target.mac + ' ' + interface,
shell=True, stdout = subprocess.PIPE, stderr = DN)
time.sleep(5)
starttime = time.time()
ivs = 0
second = False
print 'Sending deauth to generate arps...'
send_deauth(target)
while time.time() - starttime < 1200:
targets = parsecsvfile('crackattempt')
print 'Captured ' + str(ivs) + ' ivs.'
print aireplay.poll()
if len(targets[0]) > 0:
target = targets[0][0]
if ivs > 20000:
break
else :
ivs = int(target.ivs)
time.sleep(1)
如果您显示一些代码,人们将能够为您提供帮助。 – piokuc
有关此过程正在执行的更多信息。睡觉前最后一件事是什么?它持续20秒吗?一直到代码中的某个点?始终如一地尝试使用特定的资源,数据结构等?这个过程是一个C程序,又一个Python,还是什么?等等 –
对不起,我在上面添加了子进程调用。该流程(airmon-ng)在路由器上执行ARP重放攻击,即通过网卡来回发送和接收数据。它通常在10-30秒后发生。 – bananamana