#!/usr/bin/env sh # Description: Fuzzy list and kill a (zombie) process by name # # Dependencies: fzf, ps # # Note: To kill a zombie process enter "zombie" # # Shell: POSIX compliant # Author: Arun Prakash Jana printf "Enter process name ['defunct' for zombies]: " read -r psname # shellcheck disable=SC2009 if [ -n "$psname" ]; then if type sudo >/dev/null 2>&1; then sucmd=sudo elif type doas >/dev/null 2>&1; then sucmd=doas else sucmd=: # noop fi if type fzf >/dev/null 2>&1; then fuzzy=fzf else exit 1 fi cmd="$(ps -ax | grep -iw "$psname" | "$fuzzy" | sed -e 's/^[ \t]*//' | cut -d' ' -f1)" if [ -n "$cmd" ]; then $sucmd kill -9 "$cmd" fi fi