【问题标题】:TMOUT not working if user opens files如果用户打开文件,TMOUT 不起作用
【发布时间】:2014-04-29 09:01:44
【问题描述】:

我正在管理小型 HPC linux 集群。

为了关闭 SSH 会话,如果它有一段时间不活动,我在 /etc/profile 中配置了 TMOUT。 如果用户在没有任何文件处理的终端上,它就可以正常工作。

但是,如果用户一直在处理文件,例如使用 vi 编辑器编辑文件,或者使用 tail -f 命令在终端上打印结果,则它不起作用。

那些文件处理停留时间超过 TMOUT 变量。

请告诉我如何关闭这种 SSH 会话。

提前致谢。

【问题讨论】:

    标签: session ssh timeout


    【解决方案1】:

    答案很简单:它不应该在这些情况下工作。 tail -f STDOUT 上打印的内容与使用 vi 打开文件的情况相同。 当您监控日志文件或编辑文件时,您不希望 TMOUT 关闭您的连接。

    如果您也打算终止此类会话,那么:

    1) 您可以从w获取空闲时间

    2) 过滤所有超出idle timeTTY

    3)lsof /dev/TTY_value | egrep '^bash or your default shell'| awk '{print $2}'

    4) 杀死你在第 3 步得到的 pids

    我希望这对您的事业有所帮助。但这是有风险的。

    【讨论】:

    • 换句话说,TMOUT 仅适用于 shell 等待输入时,而当另一个程序在前台运行时它不会这样做。
    • @chepner 您希望我更改或扩展答案吗?
    • 不,我的评论只是向 OP 解释(我没有说清楚)TMOUT 不适用于他的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    相关资源
    最近更新 更多