https://github.com/uutils/procps
Rust reimplementation of the procps project
https://github.com/uutils/procps
Last synced: 12 months ago
JSON representation
Rust reimplementation of the procps project
- Host: GitHub
- URL: https://github.com/uutils/procps
- Owner: uutils
- License: mit
- Created: 2024-01-15T22:26:55.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T08:37:14.000Z (over 1 year ago)
- Last Synced: 2024-10-30T08:38:23.029Z (over 1 year ago)
- Language: Rust
- Homepage:
- Size: 782 KB
- Stars: 18
- Watchers: 6
- Forks: 13
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://crates.io/crates/procps)
[](https://discord.gg/wQVJbvJ)
[](https://github.com/uutils/procps/blob/main/LICENSE)
[](https://deps.rs/repo/github/uutils/procps)
[](https://codecov.io/gh/uutils/procps)
# procps
Rust reimplementation of the procps project
Provides command line and full screen utilities for browsing procfs, a "pseudo" file system dynamically generated by the kernel to provide information about the status of entries in its process table (such as whether the process is running, stopped, or a "zombie").
Ongoing:
* `free`: Shows the amount of free and used memory in the system.
* `pgrep`: Searches for processes based on name and other attributes.
* `pidof`: Find the process ID of a running program.
* `pidwait`: Waits for a specific process to terminate.
* `pkill`: Kills processes based on name and other attributes.
* `pmap`: Displays the memory map of a process.
* `ps`: Displays information about active processes.
* `pwdx`: Shows the current working directory of a process.
* `slabtop`: Displays detailed kernel slab cache information in real time.
* `snice`: Changes the scheduling priority of a running process.
* `sysctl`: Read or write kernel parameters at run-time.
* `tload`: Prints a graphical representation of system load average to the terminal.
* `top`: Displays real-time information about system processes.
* `vmstat`: Reports information about processes, memory, paging, block IO, traps, and CPU activity.
* `w`: Shows who is logged on and what they are doing.
* `watch`: Executes a program periodically, showing output fullscreen.
TODO:
* `hugetop`: Report hugepage usage of processes and the system as a whole.
* `skill`: Sends a signal to processes based on criteria like user, terminal, etc.
Elsewhere:
* `kill` is already implemented in https://github.com/uutils/coreutils
* `uptime`: Shows how long the system has been running, including load average. It is already implemented in https://github.com/uutils/coreutils
## Installation
Ensure you have Rust installed on your system. You can install Rust through [rustup](https://rustup.rs/).
Clone the repository and build the project using Cargo:
```bash
git clone https://github.com/uutils/procps.git
cd procps
cargo build --release
cargo run --release
```
## License
procps is licensed under the MIT License - see the `LICENSE` file for details