我正在使用 BusyBox,但是我认为我的问题很笼统。这是我的 inittab 文件中的 tty 行之一的示例。
tty1::respawn:/sbin/getty -n -l /usr/bin/loginwrapper 38400 tty1
我想知道是否有办法检测到 getty 进程已经重生。
因此,例如在我的配置文件脚本中,我希望能够仅在 getty 第一次生成时运行命令。
谢谢!
我会创建一个包装脚本,您可以将其放入您的 inittab 中,替换实际的getty
命令。
在该脚本中,您可以完成您的工作,最后您可以启动getty
.
因此,您将得到如下内容,而不是原来的 inittab 行:
tty1::respawn:/usr/local/sbin/myscript 38400 tty1
在那个脚本中:
#!bin/sh
LAST_BOOT=`who -b`
LAST_BOOT_FILE="/tmp/place/to/put/your/flags/$2"
if grep -q "$LAST_BOOT" $LAST_BOOT_FILE 2> /dev/null; then
echo "Respawn"
else
echo "$LAST_BOOT" > $LAST_BOOT_FILE
echo "First start"
fi
exec /sbin/getty -n -l /usr/bin/loginwrapper $*
如果你有 ramdisk,你可以在上面创建一个文件并检查它作为标志的存在。