blob: c12b9910ac35f245acb853822c9ddff4409f8ab4 (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#compdef lsof
local curcontext="$curcontext" state line fields args
case $OSTYPE in
linux*) args=( '-X[skip reporting of info on network connections]' ) ;;
solaris*)
args=(
'-X[include deleted files]'
'-z[zone information]::zone:_zones'
)
;;
esac
_arguments -C -s -S $args \
'(-)'{-\?,-h}'[list help]' \
'-a[AND selections]' \
'-b[avoid kernel blocks]' \
'-C[disable reporting of path name components]' \
'+c[truncate command name to specified characters]:characters' \
'-c[list files with specified command name beginning]:command name' \
'+d[search for open instances for contents of specified dir]:search directory:_files -/' \
'-d[specify list of file descriptors to exclude/include]:file descriptors:->filedes' \
'+D[recursively search from specified dir]:search directory:_files -/' \
'-D[direct use of device cache file]:function:((\?\:report\ device\ cache\ file\ paths b\:build\ the\ device\ cache\ file i\:ignore\ the\ device\ cache\ file r\:read\ the\ device\ cache\ file u\:read\ and\ update\ the\ device\ cache\ file))' \
'*-+e[exempt filesystem from blocking kernel calls]:file system:_directories' \
'-f[inhibit listing of kernel file structure info]::info type or path:(c f g G n)' \
'+f[enable listing of kernel file structure info]::info type:(c f g G n)' \
'-F[select output fields]:fields:->fields' \
'-g[select by process group id]::process group id' \
'*-i[select internet files]:address' \
'-K[select listing of tasks of processes]' \
'-k[specify kernel name list file]:kernel file:_files' \
'-l[inhibit conversion of UIDs to user names]' \
'-L[list no link counts]' \
'+L[list all link counts]::max link count for listed files' \
'-m[specify kernel memory file]:kernel memory file:_files' \
'-M[disable reporting of portmapper registrations]' \
'+M[enable reporting of portmapper registrations]' \
'-n[inhibit conversion of network numbers to hostnames]' \
'-N[select listing of NFS files]' \
'(-s)-o[list file offset]::digits for file offset' \
'-O[avoid overheads of bypassing potential blocking]' \
'-P[inhibit conversion of port numbers to port names]' \
'-p[list files for specified processes]:process ID:_sequence -s , _pids' \
'-r[repeat listing endlessly]::delay (seconds)' \
'+r[repeat listing until no files listed]::delay (seconds)' \
'-R[list parent PID]' \
'(-o)-s[list file size]' \
'-S[specify timeout for kernel functions that might deadlock]:timeout (seconds)' \
'-T[select reporting of TCP/TPI info]::info type:((q\:queue\ length\ reporting s\:state\ reporting w\:window\ size\ reporting))' \
'(+w -w)-t[terse output]' \
'-u[list files owned by specified users]:user:_users -S,' \
'-U[list Unix domain socket files]' \
'(-)-v[list version info]' \
'-V[indicate unsuccessfully searched for items]' \
'(-t)+w[suppress warnings]' \
'(-t)-w[enable warnings]' \
'-x[cross filesystems/traverse symlinks with +d/+D]::type:((f\:filesystems s\:symlinks))' \
'*:file:_files' && return
case $state in
fields)
fields=( ${${${${(f)"$($words[1] -F \? 2>&1)"}[2,-1]#??}// ##/:}:#(#s)[${PREFIX:-:}]:*} )
compset -P '*'
_describe -t fields "field" fields -S '' && return
;;
filedes)
_sequence -s , _wanted -x file-descriptors expl "file descriptor" compadd - \
cwd err jld ltz mem mmap pd rtd tr txt v86 && return
;;
esac
return 1
|