system-uptime
A cross-platform Rust library for retrieving operating system uptime.
Supported OS
- ✅ Windows (via
GetTickCount64) - ✅ Linux and Android (via
/proc/uptime) - ✅ macOS, iOS, FreeBSD (via
sysctlwithKERN_BOOTTIME)
Installation
Add to your Cargo.toml:
[]
= "0.1.2"
or
Usage
Basic Example
use get_os_uptime;
Getting Uptime as Duration
use get_os_uptime_duration;
Formatting Uptime
use get_os_uptime_duration;
use Duration;
API
get_os_uptime() -> Result<u64, Box<dyn Error>>
Returns system uptime in milliseconds.
Returns:
-
Ok(u64)- number of milliseconds since system boot -
Err(Box<dyn Error>)- error retrieving uptime
get_os_uptime_duration() -> Result<Duration, Box<dyn Error>>
Returns system uptime as std::time::Duration.
Precision
-
Windows: precision ~10-16 milliseconds
-
Linux/Android: precision ~10 milliseconds (from /proc/uptime)
-
macOS/BSD: precision ~1 second (via sysctl)
Example Output
// On a system running for 2.5 hours:
System has been running for 9000000 milliseconds
Total uptime: 2.5h
Formatted: 2h 30m 0s
Dependencies
-
libc- for Unix-like systems -
winapi- for Windows (automatically included only on Windows)
License
MIT License - see LICENSE file.
Contributing
Issues and Pull Requests are welcome!