plugin pskill

This commit is contained in:
Arun Prakash Jana 2019-11-01 21:54:31 +05:30
parent c5c9323d30
commit 013dad1186
2 changed files with 30 additions and 0 deletions

View file

@ -35,6 +35,7 @@ The currently available plugins are listed below.
| pastebin | sh | - | Paste contents of a text a file ix.io |
| pdfview | sh | pdftotext/<br>mupdf-tools | View PDF file in `$PAGER` |
| picker | sh | nnn | Pick files and list one per line (to pipe) |
| pskill | sh | fzy, sudo/doas | Fuzzy list by name and kill process or zombie |
| pywal | sh | pywal | Set image as wallpaper, change terminal colorscheme |
| readit | sh | pdftotext, mpv,<br>pico2wave | Read a PDF or text file aloud |
| ringtone | sh | date, ffmpeg | Create a variable bitrate mp3 ringtone from file |

29
plugins/pskill Executable file
View file

@ -0,0 +1,29 @@
#!/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
echo -n "Enter process name ['defunct' for zombies]: "
read psname
if ! [ -z "$psname" ]; then
cmd="$(ps -ax | grep -iw "$psname" | fzy | sed -e 's/^[ \t]*//' | cut -d' ' -f1)"
$sucmd kill -9 "$cmd"
fi