blob: dd0649ce9c7a5e09a14d7a5c2e08b2dc8dd18dfa (
plain) (
blame)
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
|
#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]' \
'-q[quiet mode, only set the exit code]' \
'(-w --with-workers)'{-w,--with-workers}'[show kernel workers too]' \
"(-x $exargs)"-x'[include shells running named scripts]' \
"($exargs)"\*{-o+,--omit-pid=}'[omit processes with PIDs]:pids:_sequence -s , _pids' \
'(-S --separator)'{-S+,--separator=}'[specify separator put between PIDs]:separator' \
'*: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
|