Linux poll()系统调用卡在restart_syscall()中
进程间歇性地陷入轮询调用中。此进程使用轮询系统调用读取套接字上接收的数据。重新启动后,它会正常运行几天,然后不会从套接字读取任何内容 tcpdump显示端口上收到的数据与预期一致。但是,不是通过过程读取的 strace输出如下:Linux poll()系统调用卡在restart_syscall()中,linux,system-calls,systems-programming,Linux,System Calls,Systems Programming,进程间歇性地陷入轮询调用中。此进程使用轮询系统调用读取套接字上接收的数据。重新启动后,它会正常运行几天,然后不会从套接字读取任何内容 tcpdump显示端口上收到的数据与预期一致。但是,不是通过过程读取的 strace输出如下: VMFR2 tmp# strace -p 16528 Process 16528 attached restart_syscall(<... resuming interrupted call ...> VMFR2 tmp#strace-p 16528
VMFR2 tmp# strace -p 16528
Process 16528 attached
restart_syscall(<... resuming interrupted call ...>
VMFR2 tmp#strace-p 16528
流程16528已附
重新启动系统调用(
请分享如何调试/解决问题的指针?我会尝试使用调试器附加,并检查
poll()
参数…或在进程卡住之前附加strace
。