Starting fkill is just a matter of typing the command fkill at a shell.
fkill offers an interactive way of showing and managing the running processes. This mode is invoked fkill without arguments.
Here’s a recording of a terminal session of the interactive method in action. Purely for illustration, I’m ending the process belonging to Tauon Music Box, an excellent music player.
You can see me manually scrolling through the list, until I come to the process in question. Pressing Enter terminates the selected process.
The list shows the process ID, and where relevant the port.
There’s an even easier way to find a process in question. Just start typing the name of the process, and the software applies a filter, narrowing down the number of processes as you type.
The filtering functionality doesn’t implement fuzzy searching though. This means that no entries will show if I transpose characters of the search term, or omit a letter. That’s a shame.
There’s an alternative to the interactive method. Let’s say RStudio becomes unresponsive. I can issue the command at the shell:
$ fkill RStudio
And RStudio is terminated. Quick and easy. No need to scroll through a list of processes, even with filtering.
fkill supports process name and process ID as arguments. So if an application hangs, you don’t need to look up the relevant process ID (with a separate utility such as ps, top, gtop, ….). And it requires a little experience to interpret the output of ps/top/gtop. I’ve killed the wrong process in error occasionally. Sometimes this is because I’ve misread the process ID (PID), or it’s not actually clear what PID needs to be terminated. With fkill things are a bit simpler.
If you prefer the more traditional way of killing processes, you can still terminate a process once you’ve determined its PID. In this way, the software is functionally the same as kill.
You can also kill a port by prefixing it with a colon. Port 8080 is typically used for a personally hosted web server. If you want to kill that port, just type:
$ fkill :8080
If that port is not open, you’ll receive the error message “Couldn’t find a process with port ‘8080’”.
Complete list of articles in this series:
|tmux||A terminal multiplexer that offers a massive boost to your workflow|
|lnav||Advanced log file viewer for the small-scale; great for troubleshooting|
|Paperwork||Designed to simplify the management of your paperwork|
|Abricotine||Markdown editor with inline preview functionality|
|mdless||Formatted and highlighted view of Markdown files|
|fkill||Kill processes quick and easy|
|Tusk||An unofficial Evernote client with bags of potential|
|Ulauncher||Sublime application launcher|
|McFly||Navigate through your bash shell history|
|LanguageTool||Style and grammar checker for 30+ languages|
|peco||Simple interactive filtering tool that's remarkably useful|
|Liquid Prompt||Adaptive prompt for Bash & Zsh|
|Ananicy||Shell daemon created to manage processes’ IO and CPU priorities|
|cheat.sh||Community driven unified cheat sheet|
|ripgrep||Recursively search directories for a regex pattern|
|exa||A turbo-charged alternative to the venerable ls command|
|OCRmyPDF||Add OCR text layer to scanned PDFs|
|Watson||Track the time spent on projects|
|fontpreview||Quickly search and preview fonts|
|fd||Wonderful alternative to the venerable find|
|scrcpy||Display and control Android devices|
|duf||Disk usage utility with more polished presentation than the classic df|
|tldr||Simplified and community-driven man pages|
|lsd||Like exa, lsd is a turbo-charged alternative to ls|
|broot||Next gen tree explorer and customizable launcher|
|Deskreen||Live streaming your desktop to a web browser|