を持っているどのくらいの時間を検出することが可能ですこのようなスクリプトがあれば、それをデーモンプロセスとすることができます。例えば、私は私のシステムを作ることができ、この操作を行います。
は、私はLinuxのシェル上で働いていると私はちょうど下記のようにトリガーのようなものですスクリプトを記述しようとしていないユーザーのtypeコマンド
if user stops typing command for 2 min
shutdown -h now
fi
を持っているどのくらいの時間を検出することが可能ですこのようなスクリプトがあれば、それをデーモンプロセスとすることができます。例えば、私は私のシステムを作ることができ、この操作を行います。
は、私はLinuxのシェル上で働いていると私はちょうど下記のようにトリガーのようなものですスクリプトを記述しようとしていないユーザーのtypeコマンド
if user stops typing command for 2 min
shutdown -h now
fi
をあなたは注意する必要があります...例えば、コマンド自体は実行に長い2分以上かかる場合はどう?この場合、システムをシャットダウンすることは望ましくない可能性があります。あなたが状態について知っ
この動作を取得する唯一の方法は、シェルアプリケーション内から(ない別のエンティティ/デーモンとして)である、 - 例えば:bash
でGETTING_COMMAND
、またはEXECUTING_COMMAND
...
あなたはTMOUT
variableを使用することができます。
TMOUT
ゼロより大きい値に設定した場合、TMOUTは、(Bashの組み込み関数を参照)組み込み読み取りのデフォルトのタイムアウトとして扱われます。入力が端末から来ているときにTMOUT秒後に入力が到着しないと、selectコマンド(条件構文を参照)が終了します。 対話型シェルでは、この値は、プライマリ・プロンプトの発行後に入力行を待機する秒数として解釈されます。完全な入力行が届かない場合、その秒数を待って終了します。
これは、スクリプトが行うread
またはselect
への呼び出しにも影響することに注意してください。独自のシェルを開発している場合、ユーザの入力をしながら、そしてもちろん、あなたがselect(2)
のようなものを使用することができ
export TMOUT=120
bash
shutdown -h now
:このような
何かがあなたが後にしているものだろう。