如何查看一个进程打开哪些fd及对应的文件或套接字操作

如题所述

  在GNU Linux下使用原生套接字编写了服务端程序与客户端程序,按照常规,服务端程序都是会先创建一个socket并监听此端口的,而客户端程序主要是对服务端的连接,在只开启服务端程序的时候,使用lsof可以看到服务端的所有打开的文件的描述的,服务端程序的进程为29016,如下:

  ufo@ufo:~/socket$ lsof -p 29016

  COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEoldser 29016 ufo cwd DIR 8,1 4096 2225845 /home/ufo/socketoldser 29016 ufo rtd DIR 8,1 4096 2 /

  oldser 29016 ufo txt REG 8,1 8203 2224940 /home/ufo/socket/oldseroldser 29016 ufo mem REG 8,1 14768 1442612 /lib/x86_64-linux-gnu/libdl-2.13.sooldser 29016 ufo mem REG 8,1 1599504 1442606 /lib/x86_64-linux-gnu/libc-2.13.sooldser 29016 ufo mem REG 8,1 18888 1446570 /lib/x86_64-linux-gnu/liblsp.sooldser 29016 ufo mem REG 8,1 136936 1442618 /lib/x86_64-linux-gnu/ld-2.13.sooldser 29016 ufo DEL REG 0,4 0 /SYSVa5723213oldser 29016 ufo 0u CHR 136,11 0t0 14 /dev/pts/11oldser 29016 ufo 1u CHR 136,11 0t0 14 /dev/pts/11oldser 29016 ufo 2u CHR 136,11 0t0 14 /dev/pts/11oldser 29016 ufo 3u IPv4 550310 0t0 TCP localhost:5555 (LISTEN)
温馨提示:答案为网友推荐,仅供参考
相似回答