1

私は BusyBox を使用していますが、私の質問は一般的なものだと思います。これは、私の inittab ファイルで tty 行の 1 つがどのように見えるかの例です。

tty1::respawn:/sbin/getty -n -l /usr/bin/loginwrapper 38400 tty1

getty プロセスが再生成されたことを検出する方法があるかどうかを知りたいです。

たとえば、私のプロファイル スクリプトでは、getty が最初に起動したときだけコマンドを実行できるようにしたいと考えています。

ありがとう!

4

1 に答える 1

2

getty実際のコマンドを置き換えて、inittab に配置できるラッパー スクリプトを作成します。

そのスクリプトでは、ジョブを実行でき、最後に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 $*

アップデート

RAM ディスクがある場合は、その上にファイルを作成し、その存在をフラグとして確認できます。

于 2012-07-28T09:32:18.537 に答える