linux - 如何检测getty respawn?

标签 linux init busybox

我正在使用 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,你可以在上面创建一个文件并检查它是否存在作为标志。

关于linux - 如何检测getty respawn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11699792/

相关文章:

linux - For 循环的双重变量扩展

javascript - npm init 中的 --yes 参数是什么意思?

linux - linux下如何重建热备postgresql数据库

android - 如何下载和构建 libijs 源?

SwiftUI 如何在保留后退按钮的同时隐藏导航栏

python - 将实例属性从一个模块移动到另一个模块

c - busybox 中的 TCP/IP 堆栈

init - 如何在 BusyBox 关闭时调用停止脚本?

linux - 如何让busybox1.23.2编译成功?

linux - 使用新后缀重命名文件