53 lines
1.2 KiB
Bash
53 lines
1.2 KiB
Bash
# pgrep(1) and pkill(1) completion -*- shell-script -*-
|
|
|
|
_pgrep()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
case $prev in
|
|
-c|-d|--delimiter|-g|--pgroup|-J|-M|-N|-s|--session|-t|--terminal|-T|-z)
|
|
return
|
|
;;
|
|
--signal)
|
|
_signals
|
|
return
|
|
;;
|
|
-F|--pidfile)
|
|
_filedir
|
|
return
|
|
;;
|
|
-G|--group)
|
|
_gids
|
|
return
|
|
;;
|
|
-j)
|
|
COMPREPLY=( $( compgen -W 'any none' -- "$cur" ) )
|
|
return
|
|
;;
|
|
-P|--parent)
|
|
_pids
|
|
return
|
|
;;
|
|
-u|--euid|-U|--uid)
|
|
_uids
|
|
return
|
|
;;
|
|
esac
|
|
|
|
if [[ $cur == -* ]]; then
|
|
local help='$( _parse_help "$1" )'
|
|
[[ $help ]] || help='$( "$1" --usage 2>&1 |
|
|
sed -e "s/\[-signal\]//" -e "s/\[-SIGNAL\]//" |
|
|
_parse_usage - )'
|
|
COMPREPLY=( $( compgen -W "$help" -- "$cur" ) )
|
|
[[ $cword -eq 1 && $1 == *pkill ]] && _signals -
|
|
return
|
|
fi
|
|
|
|
_pnames -s
|
|
} &&
|
|
complete -F _pgrep pgrep pkill
|
|
|
|
# ex: ts=4 sw=4 et filetype=sh
|