我们这里有一个只读的 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
事情是这样的,
当会话变量是“只读”你必须用以下命令替换当前的 shell 进程“执行”
所以,你的问题的答案是:
$> exec env TMOUT=0 bash
但我建议设置更高的超时值
$> exec env TMOUT=3600 bash
答案3
您可以从命令行发出 perl 命令...
perl -e '$|++; while (1) { print "\e[0n"; sleep 120; }'
或者你可以在 shell 中执行相同的操作(a sh
/bash
示例):
while sleep 120; do printf '\33[0n'; done
或者你可以使用watch
:
watch -n 120 printf '\33[0n'
答案4
导出TMOUT=0
顶部
您将进行一些活动,并且您的会话将保留,您可以看到它运行了多长时间。