Документация Debian не является явной, init(8) предупреждает только, что зарезервированы уровни запуска S, 0,1,6, а также:
В системе Debian ввод уровня запуска 1 приводит к уничтожению всех процессов, кроме потоков ядра и сценария, который выполняет уничтожение и другие процессы в своем сеансе. Как следствие этого, небезопасно возвращаться с уровня выполнения 1 на многопользовательский уровень выполнения: демоны, которые были запущены на уровне выполнения S и необходимы для нормальной работы, больше не работают. Система должна быть перезагружена.
Запустите уровень 1 в /etc/inittab :
l1:1:wait:/etc/init.d/rc 1
/etc/init.d/rc 1 вызовет /etc/rc1.d/S* включая S01killprocs который убивает большинство найденных вещей, и S21single , который выполняет « exec init -t1 S », чтобы переключиться в однопользовательский режим , поэтому уровень запуска 1 очень недолговечен. Однопользовательский режим "S" в /etc/inittab :
~~:S:wait:/sbin/sulogin
Это означает, что init просто будет ждать до тех пор, пока sulogin вернется, прежде чем делать что-либо еще.
Короче говоря, уровни запуска "1" и "S" являются "невмешательством" в Debian (и, вероятно, в большинстве других unixen).
Если вы поместите свою запись inittab над системной записью "S", тогда init respawning и сценарий S01killprocs некоторое время будут бороться с этим (вы можете не заметить этого без работающего системного журнала), что, вероятно, очень быстро и, вероятно, выиграно делай что хочешь.
Вы можете получить что-то из того, что вам нужно, с помощью одного или обоих изменений сценариев запуска и реализации /etc/initscipt для отслеживания и регистрации различных действий init . Это действительно хороший способ подключить рабочую систему, поэтому я советую сначала поэкспериментировать с виртуальной машиной ;-).
Я думаю, что другие ваши варианты, ни один из которых не кажется очень привлекательным, - попробовать другой init или посмотреть, можете ли вы делать то, что вы хотите через поток ядра.