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)
poll
システムコールがタイムアウトする原因となる、プログラムがアクセスしようとしているファイルを見つけるにはどうすればよいですか?
strace
は、デバッグを困難にする多くのメッセージを生成します
ポーリングシステムコールがタイムアウトする原因となる、プログラムがアクセスしようとしているファイルを見つけるにはどうすればよいですか?
呼び出す:
lsof -p <pid>
そして、問題のファイル記述子が何を参照しているかを確認してください。
Linux上のproc
ファイルシステムを調べることもできます。
ls -l /proc/<pid>/fd
ls -l/proc // fd /->対応するノードIDを取得します。 ss -p | grep-> fdが属するソケットファイルパスを取得します。