回答編集履歴

2

追記しました

2018/09/11 09:49

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -7,3 +7,29 @@
7
7
 
8
8
 
9
9
  ソケットは双方向なので、片方だけ閉じてるという状況で残ります。
10
+
11
+
12
+
13
+ ### 追記
14
+
15
+
16
+
17
+ [これ](http://hp.vector.co.jp/authors/VA019876/sokrpg/doc/SockFAQ/sfaq01.html)の2番目のFAQには該当しないですか?
18
+
19
+
20
+
21
+ 引用します
22
+
23
+ > spawn()関数を使用したプロセスでは、親プロセスと子プロセス間で、ファイルのディスクリプターを共有できます。
24
+
25
+ >
26
+
27
+ > 共有されたディスクリプターは、共有しているプロセスがあると、close()してもクローズ処理が延期されます。
28
+
29
+ >
30
+
31
+ > 上記のケースでは、親プロセスがソケットのディスクリプターを共有しているので、子プロセスでのclose()はすぐには処理されません。 そのため、ローカル・ソケットから FIN が送られず、上記の様な現象になります。共有している親プロセスの終了と同時にすべての ソケットがクローズされるでしょう。
32
+
33
+
34
+
35
+ あとは、開いたfdと閉じたfdをログに出して突合せするとか、パケットキャプチャするとかですかね。。

1

すみません!間違えました修正します。

2018/09/11 09:49

投稿

taka-saan
taka-saan

スコア665

test CHANGED
@@ -1,4 +1,4 @@
1
- CLOSE_WAIT は自分は閉じているのに、相手が未だ閉じていないという状態です。
1
+ CLOSE_WAIT は相手は閉じているのに、自分が未だ閉じていないという状態です。
2
2
 
3
3
 
4
4