LINUX.ORG.RU

can't access tty; job control turned off


0

1

При запуске sh возникает ошибка:
sh: can't access tty; job control turned off
При этом не работает Ctrl+C, что насколько я понимаю с ней и связано.

Подробнее:
Древний компьютер, система представляет из себя ядро 2.6.35 и initrd с busybox, основными директориями и программами для wifi. init - скрипт, монтирующий что надо и вызывающий sh </dev/console. /dev/tty* есть.

Всё вроде как работает, но только ничего нельзя прервать - Ctrl+C не действует - так что простой ping по сути вешает систему.

Вопрос - как это исправить?

Поиск по can't access tty; job control turned off даёт сотни вариантов, в основном сводящихся к проверке диска или переустановке убунты.


Ответ на: комментарий от anonymous

А в чём именно?
Убрать </dev/console или поменять на </dev/tty0 ничего не меняет.
Убрать строчку - влетаем и вылетаем.

Artlav
() автор топика
12 января 2012 г.
Ответ на: комментарий от mky

немножко не понял

mky спасибо за ссылку но там все по английски можете объяснить что куда вписывать?вставлять?

denis35
()
Ответ на: немножко не понял от denis35

Там написано, что запускать шелл на /dev/console нельзя:

sh </dev/console

так как ядро не даёт управляющего терминала на /dev/console, нужно запускать на /dev/tty или /dev/ttyS0 (последовательный порт).

Поэтому, если загрузились с init=/bin/sh и получили «sh: can't access tty», то нужно делать:

exec setsid sh
exec </dev/tty1 >/dev/tty1 2>&1
exec sh

Или одной строкой

exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'

P.S. Это всё относится к системе на основе busybox.

mky ★★★★★
()
Ответ на: комментарий от mky

мне это для dr.web liveusb ща попробую ввести это в консоль

denis35
()
Ответ на: комментарий от denis35

Боюсь, что нет. Свободного времени совсем мало, за компом провожу час-другой в сутки.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.