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