轮询系统调用超时

mah*_*ood 13 linux system-calls strace

附加strace显示了很多这些消息:

poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout)

poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout)

poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout)

poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}], 6, 0) = 0 (Timeout)
Run Code Online (Sandbox Code Playgroud)

如何找到程序尝试访问的文件导致poll系统调用超时?

strace 生成大量消息,使其难以调试

Max*_*kin 24

如何找到程序尝试访问的文件导致轮询系统调用超时?

调用:

lsof -p <pid>
Run Code Online (Sandbox Code Playgroud)

并查看有问题的文件描述符所指的内容.

您还可以查看procLinux上的文件系统:

ls -l /proc/<pid>/fd
Run Code Online (Sandbox Code Playgroud)