2012-10-23 158 views
3

這讓我難過。我一整天都在這裏,一直在堅持。無法在Python中殺死airodump進程

我的目標是運行airodump-ng 10秒左右,然後殺死進程,以便生成的csv文件停止不斷更新。

我已經嘗試過許多實現,但由於各種原因沒有運氣。這是最基本的嘗試:

command = "airodump-ng -w airodump mon0" 
airodump = subprocess.Popen([command],stdout=subprocess.PIPE,shell=True) 
time.sleep(10) 
airodump.terminate() 
airodump.kill() 
airodump.wait() 
#trying to run a command like "kill <pid>" does not work either. 

如果我不在那裏睡覺,這個過程有趣的是永遠不會創建。因爲我這樣做,這個過程出現在屏幕上,永遠不會結束。從我搜集的內容來看,我可能正在處理一個完整的管道緩衝區。我不確定那是什麼意思?這是否意味着這一過程剛剛接管了一切?這是否還有其他問題? airodump是什麼,它不會讓我只是刪除它的Popen對象和/或像往常一樣殺死進程? (如果你不熟悉airodump中,這是非常相似的行爲上,以「頂」)

+0

我知道這並不回答你的問題,但'kill -9 ''強制殺死這個過程。 – pogo

+0

如果kill -9 不起作用,那麼嘗試CTRL_C airodump怎麼辦?這是我在shell中使用它時退出的方式,也許可以將相同的信號發送到子進程? – Protagonist

回答