/sys-uptime

A Ruby interface for getting system uptime information

Primary LanguageRubyApache License 2.0Apache-2.0

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