Проблема очень конкретная, но я выяснил условия отказа:
система: Linux
3.16.0-4-686-pae # 1 SMP Debian
3.16.43-2+deb8u2 (2017-06-26) i686 GNU/Linux
когда я делаю следующий набор команд:
socat -,raw,echo=0,escape=0x18,nonblock tcp:192.168.1.111:23
nano somefile
Все работает, когда я заменяю bash
бинарный 4.3.30 на скомпилированный 4.4.0, nano
выдает ошибку с сообщением об ошибке:
Received SIGHUP or SIGTERM
Который не уйдет, пока я не начну другой случай bash
. Эта проблема существует также в Ubuntu
и Kali
, которые изначально имеют bash
4.4.0. Я попытался запустить socat
в подоболочке, в скрипте, выполнить stty sane
после него, изменить escape-символ и многое другое, но безрезультатно. Однако устранение nonblock
или использование более старой версии bash
решает проблему (но я зависел от исправления ошибок в 4.4 и от nonblock
переключателя). Я считаю, что это ошибка в bash
и я хотел бы посмотреть, есть ли у улей разум (кроме сообщения об ошибке).