4

我们曾经在 /etc/inittab 中有两个条目:

::sysinit:/etc/init.d/rcS
ttyS0::respawn:-/bin/sh

rcS 是一个 shell 脚本,它通常启动我们的应用程序,但在特殊情况下,我们调用“return”来终止它,这显然让 /bin/sh 接管了 tty,因为我们得到了一个 shell 提示,我们可以在其中进行一些维护。

现在 inittab 看起来像这样:

::once:/etc/init.d/rcS

我们现在通过在 rcS 脚本中执行“/bin/bash -i”来启动 shell,因为我们不想总是运行通常从不使用的第二个 shell(由于内存限制)。

但是创建的 bash 不具有作业控制功能,这是非常有限的。

所以我的问题是,我是否可以像我们之前的解决方案中的 init 处理方式一样创建一个 shell(并可能终止 rcS 脚本),以便我再次获得一个具有作业控制的 shell?

4

1 回答 1

4

这取决于您正在运行的操作系统。这是一个适用于 RHEL/CentOS 的示例。

6:2345:respawn:/sbin/mingetty --autologin root tty6

这是其他人为类似技巧所做的。

openvt -f -c 12 -w -- sh -c "unicode_start; echo -e '$NORPT'; exec $LOGINSH" >/dev/tty1
于 2011-05-19T20:40:36.387 回答