Я работаю над системой под управлением Centos 7, и в целом я новичок в Linux. У меня есть задача повторно реализовать некоторые службы запуска, которые автоматически поддерживались сторонним инструментом в нашей предыдущей системе, работающей на Centos 6.6. В нашей старой системе некоторые службы запуска (зарегистрированные через chkconfig) могут отображать настраиваемые сообщения на экран, и также может получать ввод пользователя, если требуется, хотя они настроены для запускаt время загрузки, до приглашения входа в систему. Однако, когда я пытался скопировать служебные сценарии (которые в основном представляют собой сценарии оболочки bash) из старой системы в новую систему и зарегистрировать их с помощью chkconfig
, Я не мог сделать работу такой же. Сообщения не выводились на экран, и подсказка пользователя не работала. Я покопался в одном из служебных сценариев и попытался войти в выходной файл какой-нибудь команды, например tty
, who -r
и получите разные результаты для старой и новой системы. В старой системе журналы:
tty is /dev/console
run level is run-level 3 2015-12-30 03:21
В новой системе журналы:
tty is not a tty
run level is
На основе вывода tty
Я понимаю, почему службы запуска в новой системе не могут получать пользовательский ввод-вывод, поскольку это не tty, а в старой системе это / dev / console, который является tty.
Поскольку я новичок в Linux, меня беспокоит, как создать службу запуска (зарегистрированную с chkconfig
) иметь tty - это /dev/console
или, в более общем смысле, иметь tty для получения пользовательского ввода-вывода перед запросом входа в систему. И, если возможно, помогите объяснить причину различий, которые я видел, как описано в журналах выше.
(Извините за длинный вопрос и спасибо, что прочитали :-))