我正在编写一个批处理文件,其中包含多个命令,并提供每个命令给定的输出。但是,某些命令不起作用,这会使代码花费更长的时间才能执行。我希望每条命令运行10秒钟,如果没有输出,请中止该命令并在批处理文件中运行下一条命令。
curl URL1
curl URL2
curl URL3
curl URL4
如果URL2不起作用,则需要更长的时间来执行。我希望每个curl
命令都要检查10秒钟,然后中止并运行下一个curl
命令。
答案 0 :(得分:0)
因为您说的是编写批处理文件,所以我假设您使用的是cURL命令行实用程序的Windows端口,而不是PowerShell cmdlet curl
的别名Invoke-WebRequest
cURL实用程序具有2 parameters,用于控制超时:
--connect-timeout <seconds>
您允许连接服务器的最长时间(以秒为单位)。仅限制了连接阶段,一旦curl连接成功,该选项就不再有用。另请参见-m
/--max-time
选项。[...]
-m/--max-time <seconds>
您允许整个操作花费的最长时间(以秒为单位)。这对于防止批处理作业因网络或链接断开而挂起数小时很有用。另请参见--connect-timeout
选项。
因此,您应该能够像这样运行语句:
curl --connect-timeout 10 --max-time 10 URL