これは私を殺している。私は一日中これにいて、立ち往生しています。
私の目標は、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.
私がそこで眠らなければ、興味深いことにプロセスは作成されません。私がそうしているので、プロセスは画面に表示され、終了することはありません。探し回って集めたものから、完全なパイプ バッファを扱っている可能性があります。それが何を意味するのかわかりませんか?これは、この 1 つのプロセスがすべてを引き継いだということですか? これには他に問題はありますか?Popenオブジェクトを削除したり、通常のようにプロセスを強制終了したりできないのは、airodumpについてはどうですか? (airodump に慣れていない場合は、'top' と動作が非常に似ています)