私は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
引き続き実行すると、strace
次wget
のような結果が出力されます。
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"