Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何在Microsoft Windows环境中同时运行40个wget命令?_Batch File_Command Line - Fatal编程技术网

Batch file 如何在Microsoft Windows环境中同时运行40个wget命令?

Batch file 如何在Microsoft Windows环境中同时运行40个wget命令?,batch-file,command-line,Batch File,Command Line,我想使用wget命令对网站进行压力测试。如何在Microsoft Windows环境中同时运行40个wget命令 我已尝试编写命令脚本,但wget命令将一个接一个地触发。使用&运算符和启动命令: C:\> start wget URL1 & start wget URL2 & start wget URL3..... 您可以使用for/L运行循环40次,并使用start无需等待即可启动程序。从命令行: for /L %a in (1 1 40) do start wget

我想使用wget命令对网站进行压力测试。如何在Microsoft Windows环境中同时运行40个wget命令


我已尝试编写命令脚本,但wget命令将一个接一个地触发。

使用
&
运算符和
启动
命令:

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

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

for /L %a in (1 1 40) do start wget the_url
从批处理文件中,除了使用
%%a
而不是
%a
之外,您将使用相同的命令

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

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

问题应该重定向到:另外,您确定运行40个wget命令是对网站进行压力测试的最佳方式吗?如果您建立的并发连接超过20个,则需要禁用速率限制。请参阅
start/b
将以非阻塞方式启动每个线程,但在同一窗口中。
&
不会使它们同时启动。每个实例只有在前一个实例退出后才会启动。@rojo-只有在使用了/WAIT选项时才是这样。这个解决方案应该是可行的,但将每个START WGET放在一个新行上,并抛弃
&
,会更简单。我很确定
START
在我留下评论时不是一个好主意。狡猾<代码>-