一時的なネットワークの不具合が発生し、すべてのユーザー端末のsshセッションが中断されました。 CentOSサーバーに再度ログインして「w」コマンドを実行すると、実際にログインしているユーザーの数が実際よりも多くなります。セッションが中断されたユーザーを合計します。以前の「pts」セッションを手動で強制終了しました。ただし、ログインしているユーザーの数は、現在でも実際の数よりも多くなっています。
これらの切断された「ssh」セッションを適切に強制終了して、「w」出力で正しい数のログインユーザーを取得する方法はありますか?
これは、破損した/var/run/utmp
ファイルが原因である可能性があります。その場合は、次のコマンドで修復できます。これは、シングルユーザーモードで実行することをお勧めします。そうしないと、現在ログインしているユーザーに奇妙な問題が発生する可能性があります。動作:
# >/var/run/utmp
このコマンドは、ファイル/var/run/utmp
の内容と、ルートプロンプトの#
状態をクリアします。その後、システムを再起動できます。
これは、破損したutmp
またはutmpx
ファイルが原因である可能性があります。
ネットワークの停止により中断されたセッションと、ユーザーが立ち上がって立ち去ったセッションの違いをサーバーが知る方法は実際にはありません。
一部のシェルにはタイムアウト機能があり、シェルが指定された時間アクティビティを検出しない場合、セッションを切断します。