#cross-platform #utility #cli #uutils #command-line-tool

yanked procps

procps ~ implemented as universal (cross-platform) utils, written in Rust

0.0.1 Feb 17, 2024

#105 in #uutils

MIT license

55KB
759 lines

Crates.io Discord License dependency status

CodeCov

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:

  • pwdx: Shows the current working directory of a process.
  • free: Shows the amount of free and used memory in the system.
  • w: Shows who is logged on and what they are doing.
  • watch: Executes a program periodically, showing output fullscreen.
  • pmap: Displays the memory map of a process.

TODO:

  • ps: Displays information about active processes.
  • pgrep: Searches for processes based on name and other attributes.
  • pidwait: Waits for a specific process to terminate.
  • skill: Sends a signal to processes based on criteria like user, terminal, etc.
  • slabtop: Displays detailed kernel slab cache information in real 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.
  • pkill: Kills processes based on name and other attributes.
  • snice: Changes the scheduling priority of a running process.

Elsewhere:

Installation

Ensure you have Rust installed on your system. You can install Rust through rustup.

Clone the repository and build the project using Cargo:

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

Dependencies

~7–15MB
~212K SLoC