Перенаправление последовательной консоли Linux

Я хочу перенаправить свой последовательный порт во время сеанса telnet в Linux.

У меня есть встроенный ящик Linux, который имеет последовательную консоль. После того, как я подключу telnet к коробке, я могу ввести как последовательную консоль, так и консоль telnet. Я хочу остановить доступ к последовательной консоли или перенаправить ее на что-то другое. После выхода из консоли telnet я снова смогу получить доступ к последовательной консоли. Может ли кто-нибудь предложить, пожалуйста?

Я планировал поставить cat /dev/console > /dev/ttyp0 когда начинается сеанс telnet. Это решает проблему не получить доступ к последовательной консоли, когда консоль сеанса telnet открыта, но когда я выхожу из консоли telnet и набираю что-то на последовательной консоли, для команды shell -/bin/sh: command not found (оболочка не запущена возможно?).

Благодарю.

  • Невозможно запустить службу telnet на машине CentOS
  • Как перенаправить stdout и stdin в telnet?
  • Добавить vi на Busybox, который обрезается
  • Ожидайте сценарий + автоматизированный процесс telnet между тремя машинами Linux
  • Почему «telnet» буфер FTP управляет линиями подключения?
  • Как использовать telnet через прокси-аутентификацию?
  • Можем ли мы использовать ssh для подключения к веб-серверу, а затем отправить HTTP-запрос и получить ответ HTTP?
  • Как устройство cisco знает, подключаюсь ли я через telnet или ssh?
  • One Solution collect form web for “Перенаправление последовательной консоли Linux”

    Каждая консоль имеет связанный с ней процесс. Обычно их можно легко найти в списке процессов. На Ubuntu это называется getty или agetty . В других системах это может быть login , или это может быть просто процесс оболочки.

    Все, что вам нужно сделать, – отключить этот процесс, чтобы отключить последовательный порт. Вы не можете убить его, потому что init будет просто порождать новый, но вы можете приостановить его:

     kill -STOP <pid> 

    Где вы находите <pid> с ps .

    Затем, когда вы хотите его повторно использовать, вы перезапустите его:

     kill -CONT <pid> 

    Или, если вы хотите, чтобы он начинал заново, убейте его и позвольте респаунту произойти:

     kill -KILL <pid> 

    Конечно, вы должны помнить, чтобы перезапустить его, прежде чем покинуть telnet. Если вам нужно что-то более безупречное, это зависит от того, какие утилиты у вас есть. Если у вас есть cron вы можете настроить что-то, что проверяет, прошло ли telnet (с последнего времени) и перезапускает последовательный терминал. Это было бы немного сложно, но возможно. Если у вас нет cron, тогда запустите какой-то фоновый процесс, который просыпается на SIGHUP и перезагружается. Это, наверное, еще более сложно.

    Linux и Unix - лучшая ОС в мире.