自動アイドルプロセス終了スクリプトの生成

自動アイドルプロセス終了スクリプトの生成

アイドルユーザーがリソースを多用する一般的な問題の特定のインスタンスに対するソリューションを実装したいと思います。を使用してユーザーリストを検索し、wを使用して関連するPIDを検索しps、を使用して最後のステップを検索できることを知っていますkill。しかし、1時間以上アイドル状態のユーザーのためにこのプロセスを自動化したいと思います。

アイデアは、wの出力を1行ずつ読み、正規表現[0-9]m(アイドル時間が1分より長いユーザーを探す)を含む行を選択することです。その後、ラインに関連付けられたTTYが抽出されて送信されps -t、出力には送信されるPIDのリストが含まれますkill -9。私はそれをすべて1つにまとめる方法がわからない。

最終警告:rootユーザーに関する内容は解釈されません。

ベストアンサー1

これを行うには、シェルタイムアウトを使用する方が良いかもしれません。 bash エクスポート TMOUT 変数の場合、読み取り専用

TMOUT=<seconds>; readonly TMOUT; export TMOUT

tcshで使用するため

set -r autologout <seconds>

/etc/profile.d/のスクリプトから。上記のタイムアウトに達したシェルは終了します。 「w」の出力は常に正確ではない(例:xセッションの時間を報告しない)。

sshを介してログインするユーザーがいる場合は、ClientAliveIntervalを使用してください(sshd_config(5)を参照)。

おすすめ記事