17 releases
Uses new Rust 2024
| 0.5.1 | Jul 15, 2025 |
|---|---|
| 0.4.7 | Aug 2, 2024 |
| 0.4.6 | Nov 2, 2023 |
| 0.4.4 | Jul 3, 2023 |
| 0.1.0 | Feb 5, 2020 |
#482 in Command line utilities
795 downloads per month
32KB
759 lines
psfu
Process Fu. Do stuff with processes.
Usage
psfu currently has one major command called tree which is used to show or
modify all processes in that process tree.
show commands
Show plain process tree for current shell session:
$ psfu tree show plain --arguments $$
3772 -bash
└── 109966 psfu tree show plain --arguments 3772
Other show commands are:
- affinity: show CPU affinity aka core binding
- backtrace: show process/thread traces (using
gdb, may require admin privileges) - nice: show niceness
- oom_score: show current out-of-memory score
- oom_score_adj: show out-of-memory score adjustment
modify commands
Modify commands are:
- affinity: modify CPU affinity
- nice: modify niceness
- oom_score_adj: modify out-of-memory score adjustment
tips
-
Commands can be abbreviated to save on typing, as long as they are unambiguous:
# these are the same psfu tree show affinity psfu t s a -
Use piped input to show forest or to modify multiple process trees:
$ pgrep 'tmux: server' | psfu t s a 1459 tmux: server [0, 1, 2, 3] ├── 1460 bash [0, 1, 2, 3] │ └── 3764 emacs [0, 1, 2, 3] │ ├── 108151 aspell [0, 1, 2, 3] │ └── 111340 rust-analyzer [0, 1, 2, 3] │ └── 111370 rust-analyzer [0, 1, 2, 3] └── 3772 bash [0, 1, 2, 3] └── 114364 psfu [0, 1, 2, 3] $ pgrep emacs | psfu t m a 0 $ pgrep 'tmux: server' | psfu t s a 1459 tmux: server [0, 1, 2, 3] ├── 1460 bash [0, 1, 2, 3] │ └── 3764 emacs [0] │ ├── 108151 aspell [0] │ └── 111340 rust-analyzer [0] │ └── 111370 rust-analyzer [0] └── 3772 bash [0, 1, 2, 3] └── 114399 psfu [0, 1, 2, 3]
Installation
Arch Linux
Install the psfu AUR package:
pacaur -S psfu
cargo install
cargo install psfu
from source
git clone https://github.com/idiv-biodiversity/psfu.git
cd psfu
cargo build --release
install -Dm755 target/release/psfu ~/bin/psfu
Dependencies
~5–18MB
~226K SLoC