# lsof(8) ```markdown lsof -r ..... repeatedly execute command ervery seconds -a ......... AND slection filters instead ORing (OR: default) -p ... filter by +fg ........ show file flags for file descripros -n ......... don't convert network addr to hostnames -P ......... don't convert network port to service names -i <@h[:p]>. show connections to h (hostname|ip addr) with optional port p -s ... in conjunction with '-i' filter for protocol

in state -U ......... show unix domain sockets ('@' indicates abstract sock name, see unix(7)) ``` ```markdown file flags: R/W/RW ..... read/write/read-write CR ......... create AP ......... append TR ......... truncate ``` ```markdown -s protocols TCP, UDP -s states (TCP) CLOSED, IDLE, BOUND, LISTEN, ESTABLISHED, SYN_SENT, SYN_RCDV, ESTABLISHED, CLOSE_WAIT, FIN_WAIT1, CLOSING, LAST_ACK, FIN_WAIT_2, TIME_WAIT -s states (UDP) Unbound, Idle ``` # Examples ## File flags Show open files with file flags for process: ```markdown lsof +fg -p ``` ## Open TCP connections Show open tcp connections for `$USER`: ```markdown lsof -a -u $USER -i TCP ``` **Note**: `-a` _ands_ the results. If `-a` is not given all open files matching `$USER` and all tcp connections are listed (_ored_). ## Open connection to specific host Show open connections to `localhost` for `$USER`: ```markdown lsof -a -u $USER -i @localhost ``` ## Open connection to specific port Show open connections to port `:1234` for `$USER`: ```markdown lsof -a -u $USER -i :1234 ``` ## IPv4 TCP connections in `ESTABLISHED` state ```markdown lsof -i 4TCP -s TCP:ESTABLISHED ``` ## List open files in a mounted directory. This may help to find which processes keep devices busy when trying to unmount and the device is currently busy. ```markdown # Assuming /proc is a mount point. lsof /proc ```