Я пишу сценарий питона, который выполняет ТСРйитр через subprocess.openПодавляя вывод ТСРйитр полностью
Теперь я хочу, чтобы этот скрипт не выводит ничего на экран (стандартный вывод), а просто работать бесшумно. Я попытался сделать это:
ps_dump = subprocess.Popen(['tcpdump', '-U', '-w', pcapfile, 'port 53'], stdout=subprocess.PIPE)
Но она по-прежнему выводит эти:
устройство eth0 введенную неразборчивый режим ТСРйитр: прослушивание на eth0, канального типа EN10MB (Ethernet), размер захвата 65535 байтов
0 пакетов захватили
0 пакетов, полученных с помощью фильтра
0 пакетов, отброшенных ядром
устройство eth0 покинул неразборчивый режим
Я хочу, чтобы полностью подавить их. Если я запустил скрипт, он ничего не должен печатать. Я читал, что вы можете подавлять в linux с помощью>/dev/null, но как я могу использовать его в команде Popen выше?
Любые предложения или ответы, как заставить это работать?
Я думаю, что @ λuser имеет это право - ТСРйитр пишет в стандартный поток ошибок, и вы не захватывая этот вывод. Для получения дополнительной информации см .: http://stackoverflow.com/questions/10683184/piping-popen-stderr-and-stdout – Loring