我正在寫經過subprocess.open抑制tcpdump的輸出完全
執行tcpdump的現在,一個python腳本,我想這個腳本不輸出任何內容到屏幕(標準輸出),但只是默默地運行。我試着這樣做:
ps_dump = subprocess.Popen(['tcpdump', '-U', '-w', pcapfile, 'port 53'], stdout=subprocess.PIPE)
但它仍然輸出這些:
eth0設備進入混雜模式 tcpdump的:聽在eth0連桿式EN10MB(以太網),捕獲大小65535字節
0分組捕獲
0的數據包由濾波器接收
個0包下降內核
eth0設備離開混雜模式
我要徹底抑制這些。如果我運行腳本,它不應該打印任何東西。 我讀過你可以在linux下使用>/dev/null來壓制,但是我如何在上面的Popen命令中使用它?
任何建議或答案如何讓這個工作?
我覺得@λuser有它的權利 - tcpdump的被寫入標準錯誤,你是不是捕捉輸出。欲瞭解更多信息,請參閱:http://stackoverflow.com/questions/10683184/piping-popen-stderr-and-stdout – Loring