
UNIX + Cで作成しています。
あるプログラムで、FTPコマンド※を発行し、
遠隔のサーバ(サーバはLINUX)に置かれているファイルを取得しようとしています。
※system("FTP ~~~ bye")
単発でファイルを取得する場合は問題ないのですが、
連続してファイルを取得しようとした場合、数時間動きつづけた後、
FTPコマンドを発行した状態でフリーズしてしまう現象が起こります。(100%かは分かりませんが、再現性はあります。)
なぜこのような現象が起こるのでしょうか?
連続してのFTPコマンド発行は問題があるのでしょうか?
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ここまでに書かれた症状だけではなんとも診断のしようがないのですが,ファイル転送1つにつきftpを1回起動するのをやめるのが根本的解決になるとおもいますよ.
繰り返し長期間にわたって転送するのなら,ftpは1回だけ起動して,それに
getコマンドを繰り返し与えるというふうにするか,あるいはftpなんかフリーでソースが転がっているので,自分のプログラムの中に組み込んでしまうか.
No.3
- 回答日時:
ある程度の時間の中で一定回数以上 ftp サーバにアクセスするために, 「ftp サーバに対する攻撃」と勘違いされている可能性はあ
りませんか?この回答への補足
その可能性はあるかな、と思ったりもしてます。
「ftp サーバに対する攻撃」だと、サーバ側はどのように判断するのでしょうか?
なにか設定があるのでしょうか?
(サーバはLinuxです)
しかし、ちょっと違う気もします。
フリーズする現象が発生すると、そのサーバへはTelnetでもFtpでも繋がらなくなりますが、
具体的には繋がらないというより、
繋がるがユーザ認証・ログインができない、が正しいように思います。
PCからTelnetやFtpコマンドを打つと
ユーザ名、パスワードを聞いてはくるが、その後固まるので。
さらに、そのサーバではログオフやユーザ切替すらできません。
やはり、どこか領域を壊して動けなくなっているのでしょうか?
でもそのサーバからは別のサーバへTelnetでもFtpでも繋がるんですよね。。。
No.1
- 回答日時:
本当にフリーズしているのかどうか,psコマンドとかvmstat,netstatなどで調べてみてはどうでしょうか.
ftp自体は正常に起動できているがメモリリークを起している,とか,ftpコマンド終了時の後始末がなにかがうまくいって無くて,TCPポートを使い潰しているとか,ファイルディスクリプタを何か閉じ忘れているとか,いうことが想像できます.
この回答への補足
プログラム中でsystem("FTP ~~ bye")を連続して行っているとき、サーバ、クライアント側それぞれでpsコマンドで確認しても不要なプロセスは溜まっていませんでした。
TCPポートに関しては、サーバ、クライアント側それぞれでnetstatで見たところ1400個くらいがFTPで使われていて、ほとんどがTIME_WAIT状態でした。
これは、プログラムを停止させると序々に減っていき、最終的にはなくなりそうですが。
根本的なところですが、
クライアント側は
(1)system("FTP ~~ bye")
(2)popen("FTP ~~ bye") + pclose( )
などを行うのみで、特に後始末的な処理はないと思っているのですが、間違っていますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- プロバイダー・ISP hpb22の接続方法の変更 1 2023/08/06 18:47
- ドメイン・サーバー・クラウドサービス FileZillaを使用してwpXサーバーに接続できない 2 2022/03/29 21:02
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- サーバー FFFTPで特定サイトだけUploadできない 4 2022/08/27 14:53
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
AccessVBAで実行時間を指定する...
-
コマンドプロンプトで、特定の...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
powershellでlinuxのduコマンド...
-
バッチ終了時にDOS窓を閉じるコ...
-
シェルの「:コマンドが見つか...
-
バッチファイルで文字列を順番...
-
シェルスクリプト(.sh)で、10進...
-
バッチファイル
-
バッチファイルでdiskpart.exe...
-
[MATLAB] データ型を指定した変...
-
2つ目の「pause」は無効?
-
ftpコマンド出力結果の取得
-
WINScpを使ってファイルの転送...
-
【ppt、VBA】ファイル開閉時の...
-
C言語のsystem関数でコマンドの...
-
FTP送信エラーの検知について
-
DOSコマンドに詳しい方、お知恵...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
シェルの「:コマンドが見つか...
-
コマンドプロンプトをクリック...
-
ftpコマンドを実行すると「425 ...
-
findstrでヒットした1行前の文...
-
ショートカットをデスクトップ...
-
バッチファイルを使ってテキス...
-
Pythonで単純にファイルを結合...
-
フォルダ、ファイル操作に最適...
-
ftpコマンド出力結果の取得
-
シェルスクリプト内のcdで、カ...
-
AccessVBAで実行時間を指定する...
-
powershellでlinuxのduコマンド...
-
SSH接続でwindowsサーバのコマ...
-
FTPの連続実行でフリーズする
-
コマンドプロンプトとCygwinの違い
-
Windowsのバッチ(bat)ファイル...
-
xCopyコマンドでネットワークご...
おすすめ情報