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 также было бы возможно.)

Ответы на вопрос(6)

Ваш ответ на вопрос