我正在寻找一种更好的方法来检索系统正常运行时间.我目前的方法有效,但我觉得事情可以做得更好.
def uptime_range
days_up = `uptime | awk {'print$3'}`.chomp.to_i
hours_up = `uptime | awk {'print$5'}`.delete(',').chomp
seconds_up = time_to_seconds(days_up,hours_up)
started = Time.Now - seconds_up
"#{started.strftime('%Y.%m.%d.%H.%M')}-#{Time.Now.strftime('%Y.%m.%d.%H.%M')}"
end
解决方法:
在Linux系统上,您可以打开/ proc / uptime并在机器启动后读取秒数.
def started
Time.Now - IO.read('/proc/uptime').split[0].to_f
end
编辑:将to_i更改为to_f.对于to_i,当显示为字符串或整数时,start的值更可能发生变化,特别是如果引导时间接近中间的一秒而不是一秒的开始或结束.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。