0

python2.6 を使用して、subprocess.Popen()またはos.system()2 つのタスクを実行する方法はありますか? 例では、スクリプトはairodump-ng最初に " " 実行され、次にこのプロセスはサブであり、非表示になります (端末から出力されないことを意味します)。その後sniff、scapy の機能を含む残りのスクリプトを " " 実行し続けます。調べてみましたが、Windows版とpython3しか見つかりませんでした。ちなみに私はdebianで動いています。

4

2 に答える 2

1

subprocess.Popenと組み合わせて使用subprocess.PIPE​​:

p = Popen(['airodump-ng', …], stdin=PIPE, stdout=PIPE, stderr=PIPE)

プロセスが使用を終了するまで待ちたい場合:

stdout, stderr = p.communicate()

上記のコードを省略するairodump-ngと、バックグラウンドで実行され、目に見える出力が生成されませんが、Python コードを続行できます。

別の方法はos.devnull、の出力をリダイレクトするために使用するairodump-ngことです。これにより、生成された出力が完全に削除されます。

devnull = os.open(os.devnull, os.O_WRONLY)
p = Popen(['airodump-n', …], stdout=devnull, stderr=devnull)
于 2012-07-21T08:40:44.647 に答える
0

コマンドを配置した場所で、airodump-ngその部分を次のように置き換えますtimeout 'X's airodump-ng mon'X'

于 2016-09-05T20:43:10.037 に答える