Можно ли установить стандартный ввод процесса в канал, а остальные — в устройство TTY?Linux

Anonymous
Можно ли установить стандартный ввод процесса в канал, а остальные — в устройство TTY?

Сообщение Anonymous »

Я пытаюсь создать процесс, чтобы иметь возможность делать следующее:
  • Отправить текст на стандартный ввод и указать EOF (закрыв канал stdin)
  • Подключить стандартный вывод и стандартный поток процесса к устройству TTY, чтобы его поведение было идентично при запуске внутри TTY
Изначально я запустил процесс в pty с помощью creack/pty (Go), но вскоре понял, что нет способа «отправить» EOF. Я знаю, что EOF не является ни сигналом, ни символом, поэтому его нельзя отправить.
Ранее мне удавалось запустить процесс со всеми тремя стандартными путями (stdin, stdout и stderr), подключенными к каналам. Это сработало, но мне не удалось заставить программу вести себя так, как если бы она была запущена внутри TTY.
Возьмем, к примеру, поведение выделения grep.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... tty-device

Вернуться в «Linux»