错过 btime 是什么意思?
# ps aux | grep ssh
missing btime in /proc/stat
我在一个嵌入式系统(ts-7600)上通过 UART 运行 Debian 版本。
#uname -a
Linux ts7600-4aa86d 2.6.35.3-571-gcca29a0+ #2 PREEMPT Thu Jan 22 12:21:50 PST 2015 armv5tejl GNU/Linux
我想我应该看看 btime,并在 Linux 论坛上看到了一个帖子:
# cat /proc/stat␍␊
[21:14:57:236] cpu 3081 0 3263 217610 305 0 2 0 0 0␍␊
[21:14:57:236] cpu0 3081 0 3263 217610 305 0 2 0 0 0␍␊
[21:14:57:236] intr 307219 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 805 294809 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 2525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9034 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0␍␊
[21:14:57:293] ctxt 558977␍␊
[21:14:57:293] btime 0␍␊
[21:14:57:293] processes 2774␍␊
[21:14:57:293] procs_running 1␍␊
[21:14:57:293] procs_blocked 0␍␊
[21:14:57:293] softirq 37073 0 25258 1 695 0 0 634 0 564 9921␍␊
好吧,所以btime是0,我也看了时间,那也是零。我需要解决这个问题吗?我只是想让 ssh 能解决这个问题。或者我怎样才能让时间发挥作用?该设备有一个集成的 RTC。
答案1
好吧,我有一个解决方案。 (仍然对各种事情感到困惑,但我得到了我想要的信息ps aux
)
我设定了日期date -s '2020-11-25 10:34:56'
然后跑了
# ps aux | grep ssh
root 2574 0.0 0.4 6252 1040 ? Ss 12:04 0:00 /usr/sbin/sshd
root 2663 0.0 0.2 2032 628 pts/0 S+ 12:35 0:00 grep ssh
我的意思是我并不真正关心 RTC 是否工作,只是看起来 ps 命令需要一个时间来参考。我的意思是,我的解释可能有些偏差,但无论如何我得到了我想要的。
答案2
ps
需要 btime 来计算出进程的正确启动时间。进程统计信息为您提供从系统启动时开始的时间(btime),但这对当前时间没有意义。
我很惊讶你会收到这条消息missing btime in /proc/stat
。当scanf("btime %lu")
无法找到数字,但 0 是一个数字时,就会发生这种情况。