31 releases (breaking)
Uses new Rust 2024
| 0.27.0 | Nov 12, 2025 |
|---|---|
| 0.25.0 | Jun 29, 2025 |
| 0.18.1 | Mar 15, 2025 |
| 0.13.0 | Dec 28, 2024 |
| 0.11.0 | Nov 20, 2024 |
#1755 in Command line utilities
3.5MB
4.5K
SLoC
Process Interactive Kill is a command line tool that helps to find and kill process.
It works like pkill command but search is interactive.
This tool is still under development
Table of Contents
Features
Pik allows to fuzzy search processes by:
- Name - No prefix is required, just type process name, for example 'firefox'
- Cmd Path - Prefix search with '/', for example '/firefox'
- Arguments - Prefix search with '-' for example '-foo'. Please note that if you want to use this feature in cli you must add
--, for examplepik -- -foo - Ports - Prefix search with ':' for example ':8080'
- Everywhere - Prefix search with '~' for example '~firefox'
- Select exact process by id - Prefix with '!' for example '!1234'
- Select process family (process + it's children) - Prefix with '@' for example '@1234'
After selecting process you can kill it with Ctrl + X
Installation
Archives of precompiled binaries for pik are available for Linux and macOS.
On Arch Linux
pacman -S pik
On Fedora
sudo dnf copr enable rusty-jack/pik
sudo dnf install pik
On Tumbleweed
sudo zypper install pik
On Gentoo
It is available via lamdness overlay
sudo eselect repository enable lamdness
sudo emaint -r lamdness sync
sudo emerge -av sys-process/pik
With dra
dra download --install jacek-kurlit/pik
If you're a Rust programmer, pik can be installed with cargo.
cargo install pik
Alternatively, one can use cargo binstall to install a pik
binary directly from GitHub:
cargo binstall pik
Configuration
Application configuration
You may set your preferences in config.toml file located in:
| Platform | Config dir |
|---|---|
| Linux | /home/:username/.config/pik |
| MacOS | /Users/:username/Library/Application Support/pik |
| Windows | C:\Users\:username\AppData\Roaming\pik |
All options are optional, if skipped default values will be used.
Most of config fields have cli arg equivalent. If both are set cli arg is preferred.
Run pik -- --help to see cli options
Please refer to config for more details how to configure options,theme and key mappings
Multiple meta key names support
Pik supports combining multiple modifier keys (meta keys) in key bindings. You can use any combination of "ctrl", "alt", "shift", "super", "hyper", and "meta" modifiers together.
Examples:
# Single modifier
quit = "ctrl+c"
# Combined modifiers
toggle_help = "ctrl+alt+h"
toggle_debug = "ctrl+shift+d"
# Multiple bindings with different modifier combinations for the same action
toggle_help = ["ctrl+alt+h", "ctrl+shift+h", "f1"]
This allows for flexible keybinding configurations that can accommodate different user preferences and avoid conflicts with terminal or OS shortcuts.
Readline style support
You may configure pik to use readline style key mappings. Here is example config snippet that you may add to your config.toml file to enable basic readline style editing:
cursor_left = ["left", "ctrl+b"]
cursor_right = ["right", "ctrl+f"]
cursor_home = ["home", "ctrl+a"]
cursor_end = ["end", "ctrl+e"]
cursor_word_left = ["alt+b"]
cursor_word_right = ["alt+f"]
delete_char = ["backspace", "ctrl+h"]
delete_next_char = ["delete", "ctrl+d"]
delete_word = ["ctrl+w"]
delete_next_word = ["alt+d"]
delete_to_start = ["ctrl+u"]
delete_to_end = ["ctrl+k"]
Notice that you may need to adjust the other key mappings as well to avoid conflicts, and some key combinations may not work depending on your terminal emulator.
Caveats
- Process name on linux system it is not always exe name also it is limited to 15 chars
- In linux process may appear on list but you are not allowed to get information about ports it uses. In such situations you need to run pik with root privileges
Development
Supported Systems
In theory pik is using coross compliant lib that allows to run it on all major platforms. In pratice I'm using linux and development is performed based on this OS. Pik will probably work on MacOs and Windows but that must be tested by community since I don't own computers with these OS'es. If you are able to test it on windows or macos please create issue to let me know.
Setup
Building
git clone https://github.com/jacek-kurlit/pik
cd pik
cargo build --release
./target/release/pik --version
Dependencies
~13–47MB
~714K SLoC