
以下の手順でFTP転送を中断した場合に、直ぐに転送が中断が中断されなくて(セッションがクローズされない)困っています。直ぐに中断できる方法を知っている方、教えてください。
[1]8台のクライアントから同時にFTP転送を要求する。
[2]8台分の転送中に4台でFTPクライアントをSIGKILLで強制終了させる。
[3][2]の直後に4台のFTPクライアントから[1]とは別のデータ転送を要求する。
このときに、2台分のFTPクライアントでNotConnectedとなってしまいます。理由は、SIGKILLでFTPセッションをクローズしようとしたが、クローズしきれずに、8本のセッション+4本のセッションを同時接続しようとして、FTPライセンス数オーバー(8+4>10)により、接続できないようです。
また、調査の結果、SIGKILL時に別クライアントの転送処理が実行されている場合、その転送が完了するまで、SIGKILLをサーバー側で検知してくれません。別クライアントの転送処理が全く実行されていない場合は、SIGKILL直後にサーバー側で即座に転送中断&セッションクローズをしてくれます。
データ転送の有無に因らず、FPTクライアントの転送中断を即座に確実に実行する方法がありましたら教えてください。
とにかくやりたいことは、「8本転送中に、4本を直ぐ止めて、直ぐに別の4本のデータを転送したい」です。
<環境>
FTPサーバー(WindowsPC×1台):WindowsXPのIISのFTP
*IISのFTPサーバーは最大10本の同時接続が可能。
FTPクライアント(LINUXPC×8台):LINUXのFTPクライアント
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
直接の回答ではないのですが、なぜSIGTERMでなくてSIGKILLなのでしょうか?
通常のプロセスはSIGTERMを受けると終了のための処理を行ってから終了します。(ちゃんとSIGTERMをハンドリングしていれば、ですが)
しかし、SIGKILLでは強制的にOSがプロセスを停止してしまい、適切な終了処理が行われません。一般的には、プロセスを中断させるときにはまずSIGTERMやSIGINTで試し、それでもプロセスが停止しないときにSIGKILLを使うべきです。
もしFTPクライアントがSIGTERMを受け取るとセッションの中断をサーバに伝えるような仕様になっているのなら、SIGKILLでなくSIGTERMに変えると、うまくいくかもしれません。(FTPの内部プロトコルについて詳しくないので、この辺は想像の域に過ぎませんが)
この回答への補足
なぜ、SIGKILLなのかは既に担当された方が不在で、その経緯を把握しきれていません。SIGINTではすぐに止まってくれないので、SIGKILLにしたぐらいのことしか分かっていません。
以下のとおり7種類のシグナルによりFTPクライアントを停止させた時の、クライアント側、サーバー側双方の動作を確認して見ました。
SIGKILL、SIGTERM、SIGUSR1、SIGUSR2の4種類は即クライアント、サーバー共に停止できた。ただし、裏で別のデータ転送が走っていると、サーバー側の転送中断が直ぐに実行されない。
このように、どうやったら、クライアント、サーバー双方を即座に停止できるのかまだ分かっていません。
(凡例)
[1-N]FTP中断シグナルの種類
[2-N]中断時のクライアント動作
[3-N]中断時のサーバー動作
*N=1~7の整数値(シグナルを7種類試した)
(実験結果)
[1-1]SIGKILL
[2-1]即座に転送データの受信を中断する。プロセスリストからFTPクライアントが即消える。
[3-1]クライアントのSIGKILLと同時に即座に426で転送中断完了する。
[1-2]SIGINT
[2-2]即座に転送データの受信を中断する。ただし、FTPクライアントは転送完了後も残り続ける。15分後(900秒後)にタイムアウトによりFTPクライアントが消える。[3-2]ABORTを受信して、ABORT処理を完了させる。ただし、ABORT完了までの時間=転送完了までの時間のため、転送完了を待って、ABORT完了としているものと思われる?タイムアウトによりセッションのクローズが完了する。
[1-3]SIGTERM
[2-3]即座に転送データの受信を中断する。プロセスリストからFTPクライアントが即消える。
[3-3]クライアントのSIGTERMと同時に即座に426で転送中断完了する。
[1-4]SIGUSR1
[2-4]即座に転送データの受信を中断する。プロセスリストからFTPクライアントが即消える。
[3-4]クライアントのSIGTERMと同時に即座に426で転送中断完了する。
[1-5]SIGUSR2
[2-5]即座に転送データの受信を中断する。プロセスリストからFTPクライアントが即消える。
[3-5]クライアントのSIGTERMと同時に即座に426で転送中断完了する。
[1-6]SIGSTOP
[2-6]即座に転送データの受信を中断するが、プロセスリストからFTPクライアントが消えない。
[3-6]転送しない。USER,PASS以降のログが出力されない。
[1-7]SIGTSTP
[2-7]即座に転送データの受信を中断するが、プロセスリストからFTPクライアントが消えない。
[3-7]転送しない。USER,PASS以降のログが出力されない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- サーバー FFFTPで特定サイトだけUploadできない 4 2022/08/27 14:53
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- デスクトップパソコン ウイルスに感染しないファイルのバックアップ方法について 5 2022/09/11 11:27
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
- その他(インターネット接続・インフラ) 楽天ひかりでホームページアップロードが出来ない 1 2022/07/30 10:02
- ネットワーク 社内ネットワークの1台だけ接続できないときがある 4 2023/01/25 11:58
- デスクトップパソコン 古ーいパソコン/Atheros AR2181 PCIe Gigabit LAN コントローラー 7 2022/09/07 12:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーバーに転送したファイルが0...
-
裁判所から届く「訴状」は転送...
-
PaintPictureメソッドについて
-
ファイルサイズと転送速度の関係
-
クラウドサービスの転送容量
-
転送と回送の違い
-
転送予約プログラムが起動中な...
-
ビルダー10の最新修正プログラム
-
USB2.0用の延長ケーブルを、USB...
-
録音アプリのPCM録音で4時間録...
-
FTP転送エラーについて
-
Music Center for PCの楽曲をiT...
-
外付けHDDの80GBのデータを内蔵...
-
FTP転送中断について
-
thunderbirdの転送件名を[Fwd:]...
-
Beckyで手を加えずに転送の送信...
-
AccessからExcelのシートを削除
-
200ギガのデータをUSB2...
-
ホームページの文字の色が・・。
-
ホームページビルダーで作成し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラウドサービスの転送容量
-
裁判所から届く「訴状」は転送...
-
サーバーに転送したファイルが0...
-
録音アプリのPCM録音で4時間録...
-
iPadでこれできますか? その1 ...
-
FTP転送中断について
-
ファイルをコピーしてる時にス...
-
転送と回送の違い
-
TCP環境下でのファイル破損は起...
-
Music Center for PCの楽曲をiT...
-
大きい動画ファイルをアップロ...
-
外付けHDDの80GBのデータを内蔵...
-
AccessからExcelのシートを削除
-
messengerに投稿したwordファイ...
-
filezillaの転送
-
画像がアップロードできません。
-
Beckyで手を加えずに転送の送信...
-
アンドロイドスマホに4GB以上の...
-
FTP(Filezilla)で「上書きしま...
-
あるHPに自分のHPのバナーを表...
おすすめ情報