2013-06-02 7 views
12

私はubuntu linuxのポート80にリスニングソケットを持っています。リスニングソケットのバックログ取得方法

tcp 0 0 0.0.0.0:80  0.0.0.0:* LISTEN 12248/nginx 

そのソケットのバックログ値(listen()呼び出しに送信されたバックログ値)を取得する方法はありますか?

私はnginxの設定を見ることができますが、新しい設定でnginxを再ロードせずに設定ファイルを変更することができるので、設定と実際のLISTEN呼び出しのバックログ引数が異なる可能性があります。

答えて

-2

バックログを取得するための標準TCP APIはありません。それを必要とする理由もありません。ソケットを作成し、それをリスニング状態にすると、指定したバックログが分かるはずです。 Thシステムにはそれを調整する権限がありますが、アプリケーション内のその情報を使ってあなたができることは何もありません。

+4

640K以上のRAMがあることについては何もありませんでした。 – Chucky

+0

@ Chucky実際には、BSDソケットAPIが設計されてから35年後には、誰もこのような関数を追加するのにふさわしくないことが分かりました。反例がある場合は、それを提供してください。無関係な2つの問題を単に並置するだけでは、論理的な議論は実際には行われませんが、この特定の並置はあなたの目的のためにあまり選ばれません。 640kの間違いは、数年で認識され解決されました。待機中のバックログAPIがないということは全く言及されておらず、これは世代のTCP/IP実装者が私に同意していることを示しています。 – EJP

+0

オペレータへのエラーメッセージの1つが原因です。 ロードステータスを公開するために、バックログがヒットしていることを示すことは別のものです。 – aredridel

15

ss -ltは、この値をSend-Q列に返します。

関連する問題