Можно ли установить стандартный ввод процесса в канал, а остальные — в устройство 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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