hkawasaki1
2019年4月15日 11時33分
Armadillo-IoT G3 を用いたIoTシステムにおいて、
プロセスの終了時やshutdownコマンドによるOSの再起動時に、
そのプロセスで開いたソケットが使用しているポートが解放されず、
プロセスまたはOSの再起動後、ソケットのバインドに失敗する問題が発生しています。
(netstatコマンドで確認したところ、ソケットがオープンされたままになっていました)
運用上、サーバープロセスの再起動や、リモートからのOS再起動を行いたいのですが、
上記のようなソケットのバインド(クローズされていないように見えます)が
発生しないようにする方法についてご教示いただけないでしょうか。
以上、よろしくお願いします。
コメント
hkawasaki1
溝渕さん、アドバイス有難うございます。
> 溝渕です。
>
> > 運用上、サーバープロセスの再起動や、リモートからのOS再起動を行いたいのですが、
> > 上記のようなソケットのバインド(クローズされていないように見えます)が
> > 発生しないようにする方法についてご教示いただけないでしょうか。
>
>
> TIME_WAITの時間か、keepaliveの設定を調整すると改善するかと思います。
>
> 詳しくは、tcpのmanページをご参照ください。
>
>
> [atde]$ man 7 tcp
> :(省略)
> /proc インターフェース
> :(省略)
> tcp_keepalive_time
> tcp_keepalive_probes
> tcp_keepalive_intvl
> :(省略)
> tcp_tw_recycle
> tcp_fin_timeout
>
>
at_mizo
at_mizo
2019年4月15日 12時42分
溝渕です。
> 運用上、サーバープロセスの再起動や、リモートからのOS再起動を行いたいのですが、
> 上記のようなソケットのバインド(クローズされていないように見えます)が
> 発生しないようにする方法についてご教示いただけないでしょうか。
TIME_WAITの時間か、keepaliveの設定を調整すると改善するかと思います。
詳しくは、tcpのmanページをご参照ください。
[atde]$ man 7 tcp
:(省略)
/proc インターフェース
:(省略)
tcp_keepalive_time
tcp_keepalive_probes
tcp_keepalive_intvl
:(省略)
tcp_tw_recycle
tcp_fin_timeout