15 个版本

0.4.7 2024年8月2日
0.4.6 2023年11月2日
0.4.5 2023年10月20日
0.4.4 2023年7月3日
0.1.0 2020年2月5日

#151命令行工具

Download history 1/week @ 2024-05-17 26/week @ 2024-07-05 18/week @ 2024-07-26 105/week @ 2024-08-02

123 每月下载量

GPL-3.0-or-later

29KB
683 代码行

psfu

Process Fu. 使用进程做事情。

用法

psfu 目前有一个主要命令 tree,用于显示或修改该进程树中的所有进程。

显示命令

显示当前会话的普通进程树

$ psfu tree show plain --arguments $$
3772 -bash
└── 109966 psfu tree show plain --arguments 3772

其他显示命令包括

  • affinity: 显示 CPU 亲和力即核心绑定
  • backtrace: 显示进程/线程跟踪(使用 gdb,可能需要管理员权限)

修改命令

修改命令包括

  • affinity: 修改 CPU 亲和力

提示

  1. 命令可以缩写以节省输入时间,只要它们是唯一的即可

    # these are the same
    psfu tree show affinity
    psfu t s a
    
  2. 使用管道输入来显示森林或修改多个进程树

    $ 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]
    

安装

cargo install

cargo install psfu

从源安装

git clone https://github.com/idiv-biodiversity/psfu.git
cd psfu
cargo build --release
install -Dm755 target/release/psfu ~/bin/psfu

依赖项

~4–16MB
~175K SLoC