Настройка и работа в Linux
adb5321d

Запуск из оболочки


До начала редактирования /etc/inittab и внесения ошибок в задания init, было бы неплохо вам сначала проверить свои знания с помощью запуска qlogin из оболочки. Посмотрите работу qlogin своими глазами. Проблема с init в том, что, независимо от того, что это очень важный процесс, который вам не желательно нарушать, у него нет стандартного файла ошибок, т.е. не существует способа передать вам сообщение об ошибке, поэтому сложно понять, почему он работает не так, как вы ему говорите.

Обычно признаком того, что с init что-то не в порядке служит сообщение "id X spawning too fast. Disabled for 5 minutes." Это означает, что программа (например, qlogin), выполнять которую вы заставляете init, работает с ошибками и немедленно прерывается. А поскольку это запись "respawn", init просто создает новый процесс, выполняющий ту же программу. И эти процессы запускаются и "падают" поочередно. Init замечает это и "притормаживает" процедуру "respawn" на 5 минут, надеясь, что кто-нибудь исправит проблему. Но какова причина ошибки выполнения программы? Никто не знает, кроме самой программы, но она молчит.

Поэтому нужно просто вызвать qlogin из командной строки оболочки с теми же аргументами, с которыми вы собираетесь запускать ее из init. Теперь, если qlogin "рухнет", она выдаст сообщение об ошибке.

Разумеется, было бы лучше, если бы оболочка, из которой вы вызываете qlogin, была оболочкой суперпользователя. В противном случае я могу рассказать вам прямо сейчас, какие у вас будут сообщения об ошибках.



Содержание раздела