linux - 卡在 poll 系统调用中

标签 linux system-calls strace lsof

我的程序在轮询调用中间歇性挂起

跟踪输出

poll([{fd=52, events=POLLIN}], 1, 250 <unfinished ...>
<... poll resumed> ) = 0 (Timeout) <0.250281>
wait4(16953, 0x7f00cd24d90c, WNOHANG, NULL) = 0 <0.000019>

看起来它正在等待 POLLIN(POLLIN-无数据读取)事件。从 lsof 输出我找到了该文件,该文件是文本文件。但不确定是什么导致轮询调用挂起

如有任何意见,我们将不胜感激

最佳答案

就我而言,应用程序进程似乎陷入了 POLLIN 事件,但实际挂起是在其他事件中,我的应用程序进程正在等待其他进程响应。

关于linux - 卡在 poll 系统调用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47872095/

相关文章:

c - 了解文件截断

linux - 打开 V4L 接口(interface)时出错 : Operation not permitted

python - 在脚本中打开文件时在编辑器中打开文件

java - 在 Reader 中打开 PDF 并等待其退出

Linux:系统调用会改变吗?

debugging - strace 可以告诉我在我的代码中调用系统调用的位置吗?

linux - Valgrind、Helgrind 使用 >90% 的 CPU 并且不产生结果

c++ - 如何获取 C/C++ 中 Linux 系统调用的输出?

linux - Bash 脚本退出且没有错误

node.js - 使用 (DR)STRACE 比较 Windows 程序执行