【问题标题】:How to concurrently run 40 wget commands in Microsoft Windows environment?如何在 Microsoft Windows 环境下同时运行 40 个 wget 命令?
【发布时间】:2015-08-18 11:20:18
【问题描述】:

我想使用 wget 命令对网站进行压力测试。微软Windows环境下如何同时运行40条wget命令?

我试过写命令脚本,但是wget命令会被一一触发。

【问题讨论】:

标签: batch-file command-line


【解决方案1】:

& 运算符与start 命令一起使用:

C:\> start wget URL1 & start wget URL2 & start wget URL3.....

【讨论】:

  • & 不会让它们全部同时启动。每个实例只有在前一个实例退出后才会启动。
  • @rojo - 只有在使用 /WAIT 选项时才会如此。这个解决方案应该可以工作,但是将每个 START WGET 放在一个新行上并放弃 & 会更简单。
  • 我很确定start 不是part of this answer 当我留下评论时。棘手。 -_-
【解决方案2】:

您可以使用for /L 运行循环40 次,使用start 启动程序而无需等待。从命令行:

for /L %a in (1 1 40) do start wget the_url

在批处理文件中,您将使用相同的命令,但使用 %%a 而不是 %a

因为 wget 是一个命令行程序,您将看到 40 个新的控制台窗口打开,这些窗口应该会在 wget 命令完成时自动关闭。您可以通过使用start /b 在同一个控制台中运行所有命令来避免这种情况。在这种情况下,我还将每个命令的输出通过管道传输到 NUL,以避免有 40 个实例写入同一个控制台。

for /L %a in (1 1 40) do start /b wget the_url >nul

【讨论】:

  • start /b 会以非阻塞方式启动每个线程,但在同一个窗口中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2011-10-15
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多