File: _pidof

package info (click to toggle)
zsh 5.9-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,856 kB
  • sloc: ansic: 108,138; sh: 6,976; makefile: 722; perl: 687; awk: 291; sed: 16
file content (27 lines) | stat: -rw-r--r-- 1,041 bytes parent folder | download | duplicates (2)
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