比放说我想确认一个进程是否连接了 unix:///var/run/docker.sock
, 对于 TCP 来说 lsof -p$PID | grep $PORT
立刻就能查到, 对于 Unix Socket 来说就不行了.
做法应该是这样的:
lsof
找到这个进程所有的 Unix +SOCK_STREAM
的 sockets, 倒数第二列是 Node Numberss
找到这个 node number 的 peer- 确认 peer 是 docker sock
写成一句话就是:
for no in $(lsof -p36370 | awk '/unix/ && /STREAM/ {print $8}'); do ss -xp | grep $no; done | grep /var/run/docker.sock