我使用的是BusyBox,但我认为我的问题是通用的。这是我的inittab文件中tty行的一个示例。
tty1::respawn:/sbin/getty -n -l /usr/bin/loginwrapper 38400 tty1我想知道是否有一种方法可以检测到getty进程已经重新生成。
因此,例如,在我的配置文件脚本中,我希望能够仅在getty第一次生成时运行命令。
谢谢!
发布于 2012-07-28 17:32:19
我将创建一个包装器脚本,您可以将其放入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,您可以在该文件上创建一个文件,并将其作为标志检查其是否存在。
https://stackoverflow.com/questions/11699792
复制相似问题