アクティブなユーザーがいない場合はサーバーを終了するスクリプト

アクティブなユーザーがいない場合はサーバーを終了するスクリプト

cronを使用して5分ごとに実行されるbashスクリプトを作成し、ログインしたアクティブユーザーがあることを確認し、ログインしたアクティブユーザーがない場合は終了します。私はこれを思い出しました:

#!/bin/bash                                                                                                                            
u=`users`;                                                                                                                             
l=${#u};                                                                                                                               
if [ $l -lt 2 ]                                                                                                                        
then                                                                                                                                   
        halt                                                                                                                           
fi  

これがうまくいくのか、users最後の切断後に予期しない結果を返すのか疑問に思いました。

追加情報:

私が気づいたもう1つの事実は、ちょうど自宅で実行されているシステムでこれを試み、Arch次のような結果を得ました。

[ron@osboxes ~]$ users
[ron@osboxes ~]$ who
[ron@osboxes ~]$

どうやって?私はアクティブなログインユーザーであることは明らかです。そうではありませんか?

答え1

これはコメントでなければなりませんが、50人の担当者ポイントがないため、このコメントを回答として投稿すると、より多くの損失が発生します:)

このスクリプトを5分ごとに実行すると、起動時にログインする前にサーバーがシャットダウンする可能性があります。したがって、これは良い考えではありません。システムタイマーを作成します。

関連情報