A documentação Debian não é explícita, init(8) adverte apenas que os runlevels S, 0,1,6 são reservados, e também:
On a Debian system, entering runlevel 1 causes all processes to be killed except for kernel threads and the script that does the killing and other processes in its session. As a consequence of this, it isn’t safe to return from runlevel 1 to a multi-user runlevel: daemons that were started in runlevel S and are needed for normal operation are no longer running. The system should be rebooted.
O nível de execução 1 em /etc/inittab é:
l1:1:wait:/etc/init.d/rc 1
/etc/init.d/rc 1 chamará /etc/rc1.d/S* , incluindo S01killprocs , que mata a maioria das coisas que pode encontrar e S21single , que executa " exec init -t1 S ", para alternar para o modo de usuário único, portanto, o nível de execução 1 é muito curto -vivia. O modo de usuário único "S" em /etc/inittab é:
~~:S:wait:/sbin/sulogin
, o que significa que init simplesmente aguardará até que sulogin retorne antes de fazer qualquer outra coisa.
Em suma, os runlevels "1" e "S" são "hands-off" no Debian (e provavelmente a maioria dos outros unixen também).
Se você colocar sua entrada inittab acima da entrada do sistema "S", init respawning e S01killprocs irão lutar por um tempo (você pode não conseguir observar isso sem um syslog em execução), o que provavelmente é atrevido e provavelmente não fará o que você quer.
Você pode conseguir alguns dos recursos necessários, modificando os scripts de inicialização e implementando um /etc/initscipt para monitorar e registrar as várias ações de init . Estas são uma boa maneira de mangueira de um sistema de trabalho, então eu sugiro experimentar em uma vm primeiro;).
Eu acho que suas outras opções, nenhuma das quais parece muito atraente, são tentar um% diferente init , ou ver se você pode fazer o que você quer através de um thread do kernel.