/oss · 2 merged

uutils/procps

A rewrite of the procps tools (ps, pgrep, pidof, pmap and more) in Rust, aiming to work the same as the originals.

the project on GitHub (opens in a new tab)
  1. 29 Oct 2026

    pidof understands %PPID, so scripts can skip their own shell

    What was broken
    Scripts check whether another copy of themselves is running with pidof -o %PPID. The Rust pidof rejected %PPID, so the check always said nothing was running.
    What I changed
    pidof now reads %PPID as the process that started it, and other values as before.
    Why it matters
    Cron jobs and init scripts that guard against running twice work again.

    see the code, #820 (opens in a new tab)

  2. 29 Oct 2026

    pmap takes memory addresses written with 0x

    What was broken
    Asking pmap for a range of memory with addresses like 0x1000 failed with a parse error. The original tool accepts them with or without the 0x.
    What I changed
    I made pmap drop a leading 0x or 0X before reading an address, for a single address and both ends of a range.
    Why it matters
    Address ranges copied from other tools work as typed.

    see the code, #819 (opens in a new tab)

← every project