agetty は tty ポートを開き、ログイン名を求めます。
# These are the standard console login getties in multiuser mode: c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux |
/sbin/agetty 38400 tty1 linux を例として説明します。第一パラメータの 38400 は通信速度を指定します。単位は BPS です。次に、第二パラメータの tty1 は /dev/tty1 のことを示します。/dev/tty1 は第一番目の仮想コンソールです。そして、第三パラメータの linux は環境変数 TERM に代入されます。
起動された agetty は、まず /etc/issue の内容を表示します。
Welcome to ¥s ¥r (¥l) |
¥s、¥r、¥l はそれぞれ、OS の名前、OS のリリース番号、tty ライン名に置き換えられます。
/etc/issue の内容を表示した後、ログインプロンプトを表示し、ログイン名の入力を待ちます。ログインプロンプトはホスト名に login: が結合されたものです。
Welcome to Linux 2.4.18 (tty1) darkstar login: |
最後に、agetty は入力されたログイン名をパラメータとして /bin/login を実行します。但し、agetty は login を実行する際に fork-and-exec ではなく exec のみを用います。よって、プロセス ID は変わりません。
参考文献
前へ | 起動プロセス入門 | 次へ |