Захотелось сделать жизнь коллегам попроще: сделал web-интерфейс для команд ping и tshark. Online отображение результатов команды делаю через Content-type: multipart/x-mixed-replace; C HTTP частью все нормально. Но возникла проблема с чтением данных из программы. Причем проявляется оно даже на уровне чистого шела.
Если запустить команду:
tshark -n -i eth0 -c 25 host 10.0.0.1
то она нормально все показывает в "live" режиме
А если запустить ее немного подругому:
tshark -n -i eth0 -c 25 host 10.0.0.1 | cat
то вывод команды приходит реже большими кусками.
Тоесть например если из трафика сделать только пинги раз в 2 секунды. То последняя команда будет сначала долго молчать а потом выплюнет сразу 16 строк, потом опять тишина, потом еще 16 строк.
С вызовом ping xxxx | cat тоже самое, но только для случая если xxxx не отвечает - сначала тишина (даже первых строк о том что пинг начался нету) а потом сразу результат. Если xxxx пингуется то отдается результат сразу.
Что с этим можно сделать?