読み取り専用TMOUT変数 – アクティビティがない場合に自動シェル出口を無効にする回避策

読み取り専用TMOUT変数 – アクティビティがない場合に自動シェル出口を無効にする回避策

これには読み取り専用の Bash 変数があります。変数の設定を解除できません。

$ echo $TMOUT
1800

回避策として、次の行を作成しました(私のセッションは終了しません)。

#!/usr/bin/perl

$|++;
while (1) { print "\e[0n"; sleep 120; }

CentOS7 / RHEL7リポジトリに同様の機能(上記のPerlコードなど)を持つ公式パッケージ(rpm)がありますか?私はvimエディタを開くのが好きではありません。命令があったらいいですね。

答え1

.bash_profileの先頭に追加しますか?

if [ ! -z "$TMOUT" ]; then
  env -i bash --init-file ~/.bash_profile
fi

システム管理者のタイムアウト規則に違反して多数の以前のセッションを実行している場合は、システム管理者の怒りに注意してください。

答え2


セッション変数が次のような場合の問題は次のとおりです。「読み取り専用」現在のシェルプロセスを次に置き換える必要があります。「実現する」
したがって、あなたの質問に対する答えは次のとおりです。

$> exec env TMOUT=0 bash

ただし、より高いタイムアウト値を設定することをお勧めします。

$> exec env TMOUT=3600 bash

答え3

コマンドラインからperlコマンドを実行できます。

perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'

または、シェルで同じ操作を実行できます(a sh/ bashyes)。

while sleep 120; do printf '\33[0n'; done

または、次のものを使用できますwatch

watch -n 120 printf '\33[0n'

答え4

エクスポートTMOUT=0

トップ

いくつかのアクティビティが発生し、セッションはそのまま残り、どのくらいの期間実行されたかを確認できます。

関連情報