~kris/dots

srice

ref: e9b48d06a8541f3eda5c4db90382ab3c77183afb srice/.config/nnn/plugins/pskill -rwxr-xr-x 741 bytes
e9b48d06 — Kris Yotam xprofile: systemd-aware pipewire start + blueman-applet; sb-internet: tolerate missing /proc/net/wireless 2 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/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