命令在 cmd 中运行的时间限制



我正在编写一个批处理文件,该文件具有多个命令并给出每个命令给出的输出。但是,某些命令不起作用,这需要更长的代码才能执行。我希望每个命令运行 10 秒,如果没有输出,则中止此命令并在批处理文件中运行下一个命令。

curl URL1
curl URL2
curl URL3
curl URL4

如果 URL2 不起作用,则需要更长的时间来执行。我希望检查每个curl命令 10 秒,然后中止并运行下一个curl命令。

既然你说你正在编写一个批处理文件,我将假设你使用的是cURL命令行实用程序的Windows端口,而不是PowerShell cmdlet Invoke-WebRequest的别名curl

cURL 实用程序有 2 个控制超时的参数:


--connect-timeout <seconds> 允许连接到服务器所用的最长时间(以秒为单位(。这仅限制连接阶段,一旦 curl 连接,此选项就不再有用。另请参阅-m/--max-time选项。

[...]


-m/--max-time <seconds> 允许整个操作花费的最长时间(以秒为单位(。这对于防止批处理作业由于网络速度慢或链接断开而挂起数小时非常有用。另请参阅--connect-timeout选项。

因此,您应该能够像这样运行语句:

curl --connect-timeout 10 --max-time 10 URL

最新更新