アプリ版:「スタンプのみでお礼する」機能のリリースについて

Windows上のtelnet端末からLinuxにログインし、何らかの理由でログアウト不能になってしまい、telnet端末をWindows上で終了してしまった場合など、Linux上でのログイン状態が消えない場合があるようです。
以下がそんな状態だと思われます。

# w
10:52:28 up 21 days, 23 min, 7 users, load average: 0.03, 0.01, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
turbo :0 16Mar07 ?xdm? 4:57m 0.02s /bin/sh /home/turbo/.xsession
turbo pts/0 16Mar07 21days 0.00s 0.19s kdeinit: kwrited
turbo pts/2 09:48 32:04 0.02s 0.02s -bash
turbo pts/3 09:48 0.00s 0.05s 0.05s -bash
turbo pts/4 10:47 27.00s 0.04s 0.04s -bash
turbo pts/5 10:48 0.00s 0.03s 0.01s sshd: turbo [priv]

# who
turbo :0 Mar 16 10:29
turbo pts/0 Mar 16 10:29
turbo pts/1 Mar 27 10:46 (192.168.1.13)
turbo pts/2 Apr 6 09:48 (192.168.1.20)
turbo pts/3 Apr 6 09:48 (192.168.1.20)
turbo pts/4 Apr 6 10:47 (192.168.1.13)
turbo pts/5 Apr 6 10:48 (192.168.1.13)

wコマンドでは「pts/1」が表示されませんが、whoコマンドでは「pts/1」が残存しているように見えます。
「pts/1」のゾンビユーザ?を消すにはどうしたら良いでしょうか?
今のところ実害は無いですが、このままの状態では何か良くないことはあるのでしょうか?
よろしくお願いします。

A 回答 (2件)

w コマンドは、プロセスの状態を調べて、ログイン情報を表示します。


who コマンドは、utmp というログイン・ログアウトの記録ファイルの内容を加工して表示します。

何らかの原因でpts/1からのログアウトの記録が utmp に書かれなかったものと思います。特に対処は不要で、次にpts/1を使えば情報は上書きされます。ただ、頻発するようだと「utmp に記録が残らない」の原因が何かあるはずなので、調べたほうがいいでしょうね。

utmp の場所はOSによって異なるので、locate コマンドで探してください。過去の記録は wtmp ファイルにあり、表示するのには last コマンドを使います。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
ご説明もありがとうございます。仕組みが少し理解できました。
次にpts/1を使うのはいつになるのかは不明ということでしょうか?
また、ptsは有限で、そのうち一杯になってログインできなくなるような気もします。これが「このままの状態では何かよくないことがあるのでしょうか?」の意図でした。
utmp、wtmpはバイナリファイルのようですね(開いてみました)。
ログアウトの記録ファイル(utmp)をunix上のコマンドで編集することは出来るのでしょうか?もしくはデータベースのようにdeleteを発行するようなことは出来るのでしょうか?

お礼日時:2007/04/10 14:19

「skill」コマンドを利用してみたら如何でしょうか?


使い方は man skill なり、ネット検索なりで情報は拾えますので、お試しあれ。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
manはどうも英語がわからず、
skill -KILL -v /dev/pts/1
を実行してみましたが、効果が無く、
webで「skill unix 使用法」で検索しましたが、良いページが見当たりませんでした。

お礼日時:2007/04/10 14:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!