У меня есть приложение Qt, которое запускает несколько детей QProcess
, а затем вызывает QProcess::setChannelMode(QProcess::ForwardedChannels)
. Я хотел бы затем передать stdout этого приложения (теперь содержащий stdout его дочерних элементов) в файл журнала, местоположение которого определяется приложением, что означает, что я не могу просто изменить мой журнал, чтобы также написать указанному файл, потому что это не будет работать для детей, и я не могу запустить app | tee logfile
, потому что я не знаю, к чему его обращаться.Вперед stdout к файлу в приложении Qt
Я бы предпочел - если он существует (и я не смог его найти, если он это сделал) - метод для этого через Qt, но другие решения были бы приемлемыми.
Я сомневаюсь, что это сработает, если одновременно будут записывать несколько процессов. функции библиотеки c не предоставляют никакой блокировки, и я сомневаюсь, что базовый OS API предоставит такой механизм блокировки, если специально не будет предложено это сделать. Если это решит вашу проблему, это может случиться так, потому что ваш журнал работает только на низких частотах, поэтому проблемы очень трудно. – smerlin