如何从/ etc / inittab启动linux shell

时间:2010-06-30 14:53:03

标签: bash interactive init job-control

我们以前在/ 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没有作业控制功能,这是非常有限的。

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

1 个答案:

答案 0 :(得分: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