質問: -1 eagain (resource temporarily unavailable) ... _出力から判断すると、ファイル記述子16、15、68、128、および69をポーリングしているように見えます。特にeagainエラーは、read(2)およびrecvfrom(2)呼び出し。これらのfdsに関する詳細情報を見つけるにはどうすればよいですか? _lsof -p 5547_を試しましたが、出力が出力されません。これらはいくつかのウェブサイトに公開されているソケットだと思いますが、eagainの失敗でタイトなループで回転している理由は不可解です...
回答: futex(2)の3番目のパラメータは必ずしもプロセスidである必要はなく、マニュアルにはfutex(uaddr, op, val, timeout, ...)と記載されており、opがfutex_waitの場合、「futexアドレスを原子的に検証します- addrにはまだ値valが含まれており、このfutexアドレスでfutex_wakeを待機してスリープします。[when] timeoutがnullの場合、呼び出しは無期限にブロックされます。」あなたの場合、プロセス5546がそこに座って何か(おそらくスレッド5547または関連するもの)を待っていたようですが、これだけに基づいて正確に何を確認するかはわかりませんが、指定されたメモリにその番号を書き込みます住所。ps -elfなどを使用してスレッドを表示できることにも注意してください。