ダウンロードが完了すると、wgetは終了_グループで中止されます。

ダウンロードが完了すると、wgetは終了_グループで中止されます。

私はCentOSバージョン6.3(最終)を実行しています。この問題は、私のサーバー上のすべての仮想マシンで発生します。 SSH経由で接続すると、特定のURLをダウンロードした後にwgetがハングします。

次のコマンドを実行しています。

wget --no-http-keep-alive -O test http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz?r=http%3A%2F%2Fwww.nagios.org%2Fdownload%2Fplugins%2F

引き続き実行すると、stracewgetのような結果が出力されます。

clock_gettime(CLOCK_MONOTONIC, {2670737, 421643851}) = 0
write(3, "\316\206\257'\323\4\241\262\322\"\326I\236\37\327\365\27295\310\t\210\"\212$\350[\214\346\177$\320"..., 745) = 745
write(2, ".", 1.)                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, " ", 1 )                        = 1
write(2, "100%", 4100%)                     = 4
write(2, "  508K", 6  508K)                   = 6
write(2, "=4.3s", 5=4.3s)                    = 5
write(2, "\n\n", 2

)                     = 2
close(5)                                = 0
time(NULL)                              = 1365435671
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3424, ...}) = 0
time(NULL)                              = 1365435671
utime("test", [2013/04/08-12:41:11, 2012/06/27-14:39:15]) = 0
write(2, "2013-04-08 12:41:11 (478 KB/s) -"..., 692013-04-08 12:41:11 (478 KB/s) - “test” saved [2087089/2087089]

) = 69
close(2)                                = 0
close(3)                                = 0
munmap(0xb77fb000, 4096)                = 0
exit_group(0)                           = ?

私が知っている限り、ファイルは完全にダウンロードされました。コマンド割り込みを送信すると終了wgetし、ファイルはそのまま残ります。

これは非常に不便で、自動化されたスクリプトに問題を引き起こす可能性があります。

答え1

引用符を使用する:

wget --no-http-keep-alive -O test "http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz?r=http%3A%2F%2Fwww.nagios.org%2Fdownload%2Fplugins%2F"

関連情報