Project

sys-uptime

0.01
A long-lived project that still receives updates
The sys-uptime library is a simple interface for gathering uptime information. You can retrieve data in seconds, minutes, days, hours, or all of the above.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 1.1
 Project Readme

Ruby

Description

A Ruby interface for getting system uptime information.

Prerequisites

ffi 0.1.0 or later on Unixy platforms.

Installation

gem install sys-uptime

Adding the trusted cert

gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/sys-uptime/main/certs/djberg96_pub.pem)

Synopsis

require 'sys-uptime'
include Sys

# Get everything
p Uptime.uptime
p Uptime.dhms.join(', ')

# Get individual units
p Uptime.days
p Uptime.hours
p Uptime.minutes
p Uptime.seconds

# Get the boot time
p Uptime.boot_time

Notes

On MS Windows the Uptime.uptime and Uptime.boot_time methods optionally takes a host name as a single argument. The default is localhost.

The current time, users and load average are not included in this library module, even though you may be used to seeing them with the command line version of uptime.

Known Bugs

None that I am aware of. Please log any bugs you find on the project website at https://github.com/djberg96/sys-uptime.

Questions

"Doesn't Struct::Tms do this?" - No.

License

Apache-2.0

Copyright

Copyright 2002-2023, Daniel J. Berger

All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Ruby itself.

Warranty

This library is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.

Acknowledgements

Andrea Fazzi for help with the FFI version.

Mike Hall for help with the BSD side of things for the original C code.

Ola Eriksson, whose source code I shamelessly plagiarized to get a better implementation for systems that have the utmpx.h header file for the original C code.

Author

Daniel J. Berger