Open kopavel opened 9 years ago
Раз вы пишете SU то не удивительно - SU может до бесконечности ждать ввода рутового пароля, так что с точки зрения ОС на лицо ошибка оператора вводящего недопустимую в данной ситуации интерактивную команду. Команда ждёт ваш ввод чтобы выдать результат выполнения в хост-процесс, а он ждёт её ответ чтобы продолжить работу. Так что задачу в состояние бесконечного ожидания вводит ваша ошибка - выдача интерактивных команд переводимых в фоновый режим не допустима.
Ну а вопрос о правомерности выдачи вами SU я поднимать не стану - если вы не в группе whell сервер должен вам отказать в её выполнении сам.
Нет, возможно я не до конца понятно выразился - FAR не имеет возможности что либо ввести с STDIN, поэтому абсолютно любое действие ожидающие ввода в консоль (в STDIN как я понимаю, это собственно предположение а не заключение) приводит к полной невозможности что либо делать: имеем полное повисание ФАР - что не жми на клавиатуре, даже закрыть ФАР нельзя. Скажем так достаточно удобно запустить sh скрипт на исполнение (просто кидаем путь до скрипта и ENTER), но если в скрипте что-то ожидает ввода - вешаем ФАР. Хорошо - с этим еще бы можно было бы жить (ибо нефиг запускать такие скрипты ;) ) но сценарий с "`" (тильда) который я привел меня часто раздражает. Когда в консоли что-то набрано - быстрый способ всё стереть - нажать ESC. случайно немного промахнувшысь - попадаю на тильду, нажимаем ENTER чтоб перейти в другую директорию - в итоге вешаем ФАР наглухо.
Ну, надо поглядеть, хотя перехватить что-то со stdin и возможно через модификатор перенаправления "<" к примеру в редактор. Но в данном случае наверное по иному придётся поступить. Надо подумать над алгоритмом. Я вижу возможный вариант решения задачи но пока не готов его высказать - сыроват по моему.
Хоть это уже больше из хотелок - а нельзя вообще завести STDIN? за-bind-ить ввод с клавиатуры на stdin фонового putty-процесса на время выполнения команды? в итоге и проблема решится и получим практически полноценную SSH/Putty сессию прямо в ФАР консоли? Сейчас она работает по сути только на вывод. Пример еще одного случая повисания - моя попытка выполнить "yum install ..." с получением в консоль "continue Y/n" и конечно - повисание...
Да и я думаю в том же направлении, но тут вероятно потребуется и поддержку в ядро Far просить добавить.
Попытка использования STDIN с удаленной SSH консоли вызывает зависание. Повторяемость 100%: Подключаемся к SFTP. Вводим в консоль любую команду, ожидающую ввод. К примеру часто случайно вместо ESC идет символ ` Можно например SU или любую другую. Следует вопрос об фоновой сессии и затем всё - повисаем... Видимо ждем ввода из ниоткуда, доолго ждем...