/pik

Process Interactive Kill

Primary LanguageRustMIT LicenseMIT

Pik Pik

Build status GitHub Release

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 heavy development

Table of Contents

Features

Pik allows to search processes by:

  • Name - No prefix is required, just type process name, for example 'firefox' Example search by name
  • Cmd Path - Prefix search with '/', for example '/firefox' Example search by path
  • Arguments - Prefix search with '-' for example '-foo'. Please note that if you want to use this feature in cli you must add --, for example pik -- -foo Example search by argument
  • Ports - Prefix search with ':' for example ':8080' Example search by port
  • Everywhere - Prefix search with '~' for example '~firefox' Example search everywhere

After selecting process you can kill it with Ctrl + X

Installation

Archives of precompiled binaries for pik are available for Linux and macOS.

On Fedora

sudo dnf copr enable rusty-jack/pik
sudo dnf install pik

On Tumbleweed

sudo zypper install 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

Key maps

  • Esc - Quit
  • Ctrl + X - Kill process
  • Ctrl + R - Refresh processes list
  • Ctrl + F - Details forward
  • Ctrl + B - Details backward
  • Tab | Shift + Tab | Arrow Down | Arrow Up - Select next/previous

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

Setup

  • Rust 1.79+
  • Cargo make link
  • Cargo nextest link

Building

git clone https://github.com/jacek-kurlit/pik
cd pik
cargo build --release
./target/release/pik --version