如何检测 x2go 空闲会话?

如何检测 x2go 空闲会话?

使用who -uw命令,我们可以找出哪些 ssh 会话处于空闲状态,持续时间为多少。但这些命令不会捕获x2go会话;但是 x2go 可以通过 ssh 工作。

我正在寻找' who u'的等价物x2go会话,以便可以在指定的一段时间后终止空闲会话。

谢谢

答案1

参见 x2golistsessions_root

这是我写的脚本:

LIMIT_DAYS=12

for ll in `x2golistsessions_root`; do
  #Get the date of last use of the session
  lastd=`echo $ll | awk -F \| '{print $11}' | awk -F T '{print $1}';`
  #Date in seconds
  lastsec=`date -d "$lastd" +%s`
  #Current date in seconds
  now=`date +%s`
  days=`echo $(( ($now - $lastsec) /60/60/24 ))`
  if [[ $days -gt $LIMIT_DAYS ]]; then
    sid=`echo $ll | awk -F \| '{print $2}'`
    echo "terminating session: $sid, $days days old, lastd: $lastd, lastsec: $lastsec, now: $now"
    x2goterminate-session $sid
  fi
done

相关内容