[samba-jp:22070] Re: sambaのプロセスについて

森川 武 t.morikawa @ sync.co.jp
2013年 8月 21日 (水) 11:13:34 JST


>SambaでTCPの接続断でプロセスを早めに終了させるには
>smb.confで以下のようにするのが推奨例のようです。
>( keepalive=300 は不要)

>https://lists.samba.org/archive/samba/2013-May/173527.html

>deadtime = 10
>socket options = TCP_NODELAY SO_KEEPALIVE TCP_KEEPIDLE=120
>                        TCP_KEEPINTVL=10 TCP_KEEPCNT=5

上記を試してみたのですが、概ね設定した通りにプロセスがいなくなりました。
しかし、指定した時間にkillされずに何十分か経過しないとkillされない場合がありました。

【killされる場合の手順】
①xlsxファイル(excel)を開く。
⇒排他制御かかる
②LANケーブルを抜く。

この場合、約3分後にプロセスがいなくなりました。

【killされない場合】
①xlsxファイル(excel)を開く。
⇒排他制御かかる
②共有フォルダ内に対して全検索を行う。
③LANケーブルを抜く。

この場合、3分経過した時点ではプロセスが残っており15分ほど経過するとプロセスがいなくなりました。
ファイルを読み込もうとしている最中にLANケーブル抜いたときと言えるのか微妙ですが
socket optionsに設定した通りに動かない場合があるようなのです。

socekt optionsの設定は無通信状態になってから、keepaliveパケットを送信し、指定した回数投げて
応答が無ければ、プロセスをkillするようなものと認識しています。
そのため、
プロセスがkillされない=無通信状態でない
ということになると思うのですが、LANケーブルを抜いているので、間違いなく無通信状態であると考えています。

アドバイスをお願い致します。





samba-jp メーリングリストの案内