これには読み取り専用の 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
/ bash
yes)。
while sleep 120; do printf '\33[0n'; done
または、次のものを使用できますwatch
。
watch -n 120 printf '\33[0n'
答え4
エクスポートTMOUT=0
トップ
いくつかのアクティビティが発生し、セッションはそのまま残り、どのくらいの期間実行されたかを確認できます。