Потоковые команды выводят прогресс

Я пишу сервис, который должен транслировать вывод выполненной команды как родителю, так и логу. Когда есть долгий процесс, проблема в том, чтоcmd.StdoutPipe дает мне окончательный (строковый) результат.

Можно ли дать частичный вывод того, что происходит, как в оболочке

func main() {
    cmd := exec.Command("sh", "-c", "some long runnig task")

    stdout, _ := cmd.StdoutPipe()
    cmd.Start()

    scanner := bufio.NewScanner(stdout)
    for scanner.Scan() {
        m := scanner.Text()
        fmt.Println(m)
        log.Printf(m)
    }

    cmd.Wait()
}

Постскриптум Просто для вывода будет:

cmd.Stdout = os.Stdout

Но в моем случае этого недостаточно.

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

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