什么构成“活动”为Unix“who”命令的目的?我们试图找到空闲的会话,但在这种情况下对活动的确切含义存在分歧.一个人认为活动时间仅由用户输入重置 – 即,从标准输入进入会话的数据.其他人说任何cpu活动.权威的答案会很有用.
USER TTY FROM LOGIN@ IDLE Jcpu Pcpu WHAT jferland pts/2 jferland:S.1 10:35 2.00s 0.18s 0.18s /bin/bash jferland pts/3 jferland:S.2 10:35 45.00s 0.18s 0.00s sleep 30 jferland pts/1 jferland:S.0 10:35 0.00s 0.21s 0.00s w
S.0:我正在检查的那个,所以肯定有0次.
S.1:我打开了一个炮弹.我按下一个键而没有按下输入前两秒钟.因此,即使没有换行,任何收到的输入都可以工作.
S.2:我跑的时候是真的;回声“foo”;睡30;完成.我甚至在它的中间键入了一个字符.由于输入被阻止(从未读过),我仍然在那里闲置.
结论
从终端输入读取字符时,重置空闲时间.即使阻塞输入确实影响屏幕显示,也不会更新空闲时间.应用程序可能会根据不同规则进例如,我使用了逐行读取的写入,所以它只在按下回车时更新了我的空闲时间. perl也是如此(字面意思是perl执行,没有参数).