我们以前在/ 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吗?
答案 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