我正在尝试找出一个监视远程服务器上的用户会话的进程,并在它们空闲时间过长时发出警报,而使用
Linux命令w是合适的.
问题是 – w使用3种不同的格式来指定会话的空闲时间,我无法正确理解它们. w的输出可能如下所示:
11:40:57 up 400 days,10:46,13 users,load average: 5.07,5.10,4.83 USER TTY FROM LOGIN@ IDLE Jcpu Pcpu WHAT john pts/1 XX.XX.XX.XX Wed13 22:29m 0.13s 0.04s ssh master-db june pts/2 XX.XX.XX.XX Wed13 46.00s 0.67s 0.13s -bash jenn pts/4 XX.XX.XX.XX 11:13 27:47 4.16s 0.11s -bash
如您所见,IDLE为每个用户提供不同的格式:
>“AA.BBs”显然意味着自从她最后一次在控制台上活动以来,已经过了AA秒和BB 1/100秒(在6月的情况下为46秒).
>“AA:BBm”可能意味着自约翰最后一次参加他的会议以来已经过了AA小时和BB分钟.
>“AA:BB”是我无法弄清楚的格式 – 詹妮弗在她的会话中没有活跃多久?
解决方法
如果没有限定符,则表示MM:SS – 即分钟和整秒.作为额外的奖励,在该输出中没有第四种格式 – 不活动的天数(NNdays).