何か重い処理を走らせたいときに、作業中のユーザに迷惑をかけないよう、システムにログインして作業しているユーザがいるか確認したいときがあります。システムでつかえる方法をいくつか検討してみたいと思います。1を超えるような状況では重い処理は走らせないほうがいいでしょう。この方法の欠点は、システム全体の忙しさはわかっても、ユーザがログインして作業しているかどうかはわからない点にあります。ユーザがテキストエディタなどで軽い作業を行っていた場合、ロードアベレージは低い数字になります。いう欄に各端末のアイドル時間が表示されます。いうファイルからアクティブな端末の一覧を取得して、現在時刻から各端末のデバイスファイルのアクセス時間を引き算することによって求めています。発生しますが、ディスク上のファイルシステムへのアクセスは行われないので、上のように大雑把に処理を行っても性能の点で問題になることはあまりないと思います。上で作業していた場合、ユーザが作業中かどうかどうかわからない点にあります。いう拡張があったようですが、現在では使えなくなっているようです。jwz氏によるバグレポートがあります。拡張はアイドル時間を調べるためだけにも使えると指摘があります。拡張を使ってアイドル時間を調べています。次のような行を定期的に監視すれば調べられます。左から2つ目の値が、割り込みの入った回数を表しています。キーボード・マウスに入力がない間は、これらの値に変化はありません。内容は異なるため、注意が必要です。監視するコードがあります。USBキーボード・マウスを監視できない点です。監視してキーボードやマウスの入力を監視するという方法もあります。USBキーボード・マウスも問題なく扱えます。キーロガーを簡単に作れてしまうデバイスなので、取り扱いには注意が必要です。モジュールが入っていないカーネルでは次のようにモジュールをインストールする必要があります。evdevまとめシステム上のユーザのアイドル時間を調べる方法をいくつか検討しました。デスクトップとして使われていないサーバマシンでは「ロードアベレージ」と「端末のアイドル時間を調べる」の方法を組み合わせれば大体なんとかなると思います。共有サーバを喧嘩せずに使うのに役立つテクニックだと思います。謝辞キーボード・マウスのアイドル時間を調べるに関する情報は金田さん、鵜飼さん、八重樫さんから情報を提供していただきました。