【发布时间】:2024-08-26 04:05:02
【问题描述】:
我们曾经在 /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?
【问题讨论】:
-
您可能会在 superuser.com 上获得更好的答案,但我会尝试使用
exec login -f root,您目前拥有/bin/bash -i。我认为正确设置了终端。
标签: bash interactive init job-control