mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-02 22:11:54 +02:00
24 lines
834 B
Text
24 lines
834 B
Text
#compdef pidof
|
|
|
|
local curcontext="$curcontext" state line expl ret=1
|
|
typeset -A opt_args
|
|
|
|
local exargs="-h --help -V --version"
|
|
_arguments -C -s -w \
|
|
'(- *)'{-h,--help}'[display help information]' \
|
|
'(- *)'{-V,--version}'[print program version]' \
|
|
"(-s --single-shot $exargs)"{-s,--single-shot}'[return one PID only]' \
|
|
"(-c --check-root $exargs)"{-c,--check-root}'[omit processes with different root]' \
|
|
"(-x $exargs)"-x'[include shells running named scripts]' \
|
|
"($exargs)"\*{-o+,--omit-pid}'[omit processes with PIDs]:pids:_sequence -s , _pids' \
|
|
'*:process:->procnames' \
|
|
&& return 0
|
|
|
|
case $state in
|
|
procnames)
|
|
# Handle defunct processes and "avahi-daemon:"
|
|
_wanted process-names expl process compadd ${${${${${(@)${(f)"$(ps -N --ppid 2 -p 2 o args=)"}%% *}##*/}%:}#\[}%]} && ret=0
|
|
;;
|
|
esac
|
|
|
|
return ret
|