Added
- Process termination (
/kill,/killtree): Terminate individual processes or whole process trees directly fromprocmem, serving as a safer alternative totaskkillor Sysinternalspskill64with built-in resource reclamation accounting and safety barriers.- /kill
<name|PID>: Terminates the specified PID or matching processes without affecting child processes. - /killtree
<name|PID>: Terminates matching roots plus all descendant processes top-down (root first, preventing supervisor/watchdog respawns). - Pre-calculated reclamation: Measures and displays exact physical RAM, commit charge, and CPU time freed upon termination.
- Safety barrier: Terminating by process name strictly requires
/for/force. Omitting/fperforms a non-destructive dry run, printing a full preview table of processes and memory before exiting with code 2. Numeric PID targeting does not require/f. - PID recycling safety: Validates kernel process creation timestamps (
child.created >= parent.created), eliminating PID reuse hazards. - Safety guards: Rejects empty targets (
"") and blocks wildcard-only patterns (*,**) in kill mode to prevent accidental system-wide termination. - Quick usage:
procmem /kill 1234— kill single process by PIDprocmem /killtree 1234— kill process tree by root PIDprocmem /kill /f notepad— kill matching processes by nameprocmem /killtree /f msedge— kill browser tree by nameprocmem --kill -ef notepad— kill exact name with flag bundlingprocmem /killtree msedge— dry-run preview (without/f)
- /kill
- POSIX flag terminator (
--): Supports--to stop flag parsing; all subsequent arguments are treated as positional targets.
Changed
- Column layout: Moved
CPU Time,GPU Ded, andGPU ShrbeforeNamesso all fixed-width numeric metrics are grouped on the left, preventing wide process lists from pushing numbers off-screen. - Kill dry-run preview: Includes numeric PIDs in the preview table when mixed with process name targets.
Fixed
- Empty string validation: Disallowed empty process name arguments (
""), which previously matched every running process on the system. - Flag termination with
--: Fixed--so it properly stops flag parsing per POSIX convention, allowing arguments starting with-or/after--to be targeted as process names.
Removed
- Removed
/ec: Dropped the deprecated/ecoption completely, allowing-ecto correctly unpack as the short-flag bundle-e(exact name) and-c(CPU time).
Full Changelog: v1.1.0...v1.2.0