Псевдо-терминал Linux: функция isatty возвращает true в дочернем

Я пытаюсь управлять tar через псевдотерминал в C-программе, которую я разработал. Команда tar, которую я использую: tar -cpzf -

Я пытаюсь создать псевдотерминал, запустить tar с выводом, направленным на stdout. Я планировал прочитать поток данных, созданный tar в моей C-программе.

Проблема, с которой я столкнулся, заключается в том, что tar печатает код ошибки и завершает работу.

tar: "Отказ от записи содержимого архива в терминал"

Я посмотрел последний исходный код tar и вижу, что он включает проверку типа терминала. Tar выручает, если isatty возвращает true.

Какой флаг (ы) управления я должен установить на псевдотерминале, чтобы функция isatty возвращала false в дочернем процессе?

0 ответов

Другие вопросы по тегам