Crates.io | limits-rs |
lib.rs | limits-rs |
version | 0.2.0 |
source | src |
created_at | 2020-02-07 21:01:36.058856 |
updated_at | 2023-01-09 15:19:56.461109 |
description | Utilities for determining the limits that an operating system enforces on a given particular process. |
homepage | https://github.com/aesedepece/limits-rs |
repository | https://github.com/aesedepece/limits-rs |
max_upload_size | |
id | 206179 |
size | 28,789 |
A Rust library for determining the limits that an operating system enforces on a given particular process.
In its current implementation, this crate allows convenient read of the /proc/<pid>/limits
file on GNU/Linux. On any other platform, the provided methods will return an error so that the
user can decide what to do in the absence of information about limits.
Support for other operating systems and platforms may be added on demand. Feel free to file an issue or make a PR!
use limits_rs::get_pid_limits;
// Let's check what the CPU time hard limit is for process `1`.
let limits = get_pid_limits(1).unwrap();
let max_cpu_time_hard_limit = limits.max_cpu_time.hard;
// This will print either:
// - "Some(x)" if there is a limit, where `x` is the limit itself.
// - "None" if it is "unlimited".
println!("{}", max_cpu_time_hard_limit);
use limits_rs::get_pid_limits;
// Let's check what the open files soft limit is for our own process.
let limits = get_own_limits().unwrap();
let max_open_files_soft_limit = limits.max_open_files.soft;
// This will print either:
// - "Some(x)" if there is a limit, where `x` is the limit itself.
// - "None" if it is "unlimited".
println!("{}", max_open_files_soft_limit);
The properties currently tracked by limits-rs::linux::Limits
are:
max_cpu_time
max_file_size
max_data_size
max_stack_size
max_core_file_size
max_resident_set
max_processes
max_open_files
max_locked_memory
max_address_space
max_file_locks
max_pending_signals
max_msgqueue_size
max_nice_priority
max_realtime_priority
max_realtime_timeout
As said before, support for other operating systems and platforms may be added on demand. Feel free to file an issue or make a PR!
Scriptful is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.