Giter Site home page Giter Site logo

procps's Introduction

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.
  • slabtop: Displays detailed kernel slab cache information in real time.

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.
  • 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.
  • pidof: Find the process ID of a running program.

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

procps's People

Contributors

sylvestre avatar cakebaker avatar renovate[bot] avatar fortifiedhill avatar maxer137 avatar claudex avatar krysztal112233 avatar

Stargazers

Jevin Sweval avatar gym603 avatar Matei Mantu avatar  avatar Tuan Anh Tran avatar Rasit avatar Akito avatar ZJPzjp avatar Orhun Parmaksız avatar Larson T. avatar  avatar

Watchers

 avatar gym603 avatar Jevin Sweval avatar  avatar  avatar

procps's Issues

Typo in "About" text

Currently, the "About" text of the project is:

Rust reimplemtation of the procps project

It should be reimplementation instead of reimplemtation.

free: implement `--human`

-h, --human
              Show all output fields automatically scaled to shortest three digit unit  and  dis-
              play the units of print out.  Following units are used.

                B = bytes
                Ki = kibibyte
                Mi = mebibyte
                Gi = gibibyte
                Ti = tebibyte
                Pi = pebibyte

              If  unit  is  missing,  and  you  have  exbibyte  of  RAM or swap, the number is in
              tebibytes and columns might not be aligned with header.

It's already partially implemented. What's missing is the "scaled to shortest three digit unit" functionality.

free: implement `--wide`


       -w, --wide
              Switch to the wide mode. The wide mode produces lines longer than 80 characters. In
              this mode buffers and cache are reported in two separate columns.

free: implement `--line`

       -L, --line
              Show output on a single line, often used with the -s option to show memory  statis-
              tics repeatedly.

`w`: GNU w output header includes output from uptime

The header in GNU version contains the output from uptime as part of the header.

 15:12:54 up  5:47,  1 user,  load average: 0.68, 0.61, 0.74
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

coreutils already has an implementation for uptime so the code for this already exists.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

cargo
Cargo.toml
  • pretty_assertions 1.4.0
  • rlimit 0.10.1
  • uucore 0.0.26
  • clap 4.5.4
  • clap_complete 4.5.2
  • clap_mangen 0.2.20
  • regex 1.10.4
  • sysinfo 0.30.11
  • libc 0.2.154
  • phf 0.11.2
  • phf_codegen 0.11.2
  • textwrap 0.16.1
  • xattr 1.3.1
  • tempfile 3.10.1
  • rand 0.8.5
  • bytesize 1.3.0
  • chrono 0.4.38
src/uu/free/Cargo.toml
src/uu/pmap/Cargo.toml
src/uu/pwdx/Cargo.toml
src/uu/slabtop/Cargo.toml
src/uu/w/Cargo.toml
src/uu/watch/Cargo.toml
github-actions
.github/workflows/ci.yml
  • actions/checkout v4
  • actions/checkout v4
  • actions/checkout v4
  • actions/checkout v4
  • actions/checkout v4
  • codecov/codecov-action v4

  • Check this box to trigger a request for Renovate to run again on this repository

`watch`: implement `--interval`

      -n, --interval seconds
              Specify update interval.  The command will not allow quicker than 0.1 second inter-
              val,  in  which the smaller values are converted. Both '.' and ',' work for any lo-
              cales. The WATCH_INTERVAL environment can be used to persistently set a non-default
              interval (following the same rules and formatting).

free: implement the different size display

      -b, --bytes
              Display the amount of memory in bytes.

       -k, --kibi
              Display the amount of memory in kibibytes.  This is the default.

       -m, --mebi
              Display the amount of memory in mebibytes.

       -g, --gibi
              Display the amount of memory in gibibytes.

       --tebi Display the amount of memory in tebibytes.

       --pebi Display the amount of memory in pebibytes.

       --kilo Display the amount of memory in kilobytes. Implies --si.

       --mega Display the amount of memory in megabytes. Implies --si.

       --giga Display the amount of memory in gigabytes. Implies --si.

       --tera Display the amount of memory in terabytes. Implies --si.

       --peta Display the amount of memory in petabytes. Implies --si.

      -h, --human
              Show all output fields automatically scaled to shortest three digit unit  and  dis-
              play the units of print out.  Following units are used.

                B = bytes
                Ki = kibibyte
                Mi = mebibyte
                Gi = gibibyte
                Ti = tebibyte
                Pi = pebibyte

              If  unit  is  missing,  and  you  have  exbibyte  of  RAM or swap, the number is in
              tebibytes and columns might not be aligned with header.

free: `used` miscalculation

Here's procps free's outputs

               total        used        free      shared  buff/cache   available
Mem:        32273048     9797636    15312152      200600     7826228    22475412
Swap:              0           0           0

Here's uutils free's outputs

               total        used        free      shared  buff/cache   available
Mem:        32273048    16985112    15287936      199512     7825372    22451428
Swap:              0           0           0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.