bash: заставить процесс exec'd иметь стандартный буфер без буферизации
У меня есть сценарий, как:
#!/bin/bash
exec /usr/bin/some_binary > /tmp/my.log 2>&1
Проблема в том, чтоsome_binary
отправляет все свои записи в stdout, и буферизация делает это так, что я вижу вывод только частями в несколько строк. Это раздражает, когда что-то застревает, и мне нужно посмотреть, что говорит последняя строка.
Есть ли какой-нибудь способ сделать stdout небуферизованным до того, как я выполню exec, который повлияет на some_binary, чтобы в нем была более полезная регистрация?
(Скрипт-обертка устанавливает только несколько переменных среды перед exec, так что решение на perl или python также было бы возможно.)