超时命令在批处理文件中不起作用

2023-12-03

我正在尝试通过 tomcat 应用程序调用批处理文件。批处理执行正常,但是批处理中的超时命令没有暂停批处理。当直接执行批处理时,超时确实会按预期暂停进程。

我将批处理调用为: Runtime.getRuntime().exec("test.bat");


你打电话时Runtime.getRuntime().exec()已启动进程的输入和输出流被重定向。timeout从该进程启动会继承相同的句柄。

问题是timeout 尝试访问控制台,由于重定向而无法执行某些操作。

您可以从控制台运行来测试此行为

<nul timeout /t 10 

当输入流被重定向时,timeout fails.

一种解决方法可能是

( timeout /t 10 || >nul ping -n 11 localhost ) 2>nul

If the timeout失败,一个ping执行命令强制等待。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超时命令在批处理文件中不起作用 的相关文章

随机推荐

  • 没有 ObservableDataService 的提供者

    我收到错误 No provider for ObservableDataService ObservableDataService https github com sanex3339 bannerscreator blob master
  • 使用 mutate_at 用列名更新单元格值

    我正在处理调查数据 有些问题要求参与者检查所有适用于他们的选项 在我当前拥有的数据框中 每个可能的响应都有一列 如果参与者选择了该选项 则记录值为 1 例如 对于问题 您在工作中经历过以下哪种情绪 使用选项 无聊 压力 满足 我的数据框将如
  • 将表单输入值发送到 URL

    我有一个简单的搜索表单
  • GitHub 中的分支之间合并

    我分叉了一个 GitHub 存储库 然后我向我的叉子推送了一些更改 然后原始存储库合并了我的更改和其他一些更改 现在 我想合并那些我缺少的更改 我尝试了简单的拉动 然后推送 但这会产生重复的提交 最好的方法是什么 您可能对每个存储库都有一个
  • ModuleNotFoundError:没有名为“camelot”的模块

    我想从 pdf 中提取表格并为此 我用的是卡米洛特 但每当我尝试导入它时 我都会收到此错误 import camelot Traceback most recent call last File
  • C/C++签名中两个const的含义

    我一直在包装一个 gl 文件scheme并且失败了两次gl h标头 我使用的是 OSx 所以它可能依赖于平台 但我在生活中的其他地方从未见过这种语法 typedef void glMultiDrawElementsProcPtr GLenu
  • 使用结构体在 C 中输入 CSV 文件

    我想打印来自的数据 csv逐行文件 由comma分隔符 此代码打印垃圾值 enum gender M F struct student int stud no enum gender stud gen char stud name 100
  • 使用 EF4 实施识别关系

    我目前的情况是需要删除实体而无法访问关联的实体ObjectContext 我读到了有关识别关系的内容 它们似乎正是我所需要的 一旦一个对象不再被其 父 对象引用 我想删除该对象 我正在使用 Visual Studio 2010 Premiu
  • 如何在Python中比较列表/集合的列表?

    比较两个列表 集合并输出差异的最简单方法是什么 是否有任何内置函数可以帮助我比较嵌套列表 集合 Inputs First list Test doc 1a1a1a 1111 Test2 doc 2b2b2b 2222 Test3 doc 3
  • 是否可以使用元组中传递的参数的所有可能的 K 组合(带重复)来调用方法?

    所需的行为可以如下所示 void foo int x int y std cout lt lt x lt lt lt lt y lt lt std endl int main all combinations lt 2 gt foo std
  • 在 Jython 中全面捕获异常

    到目前为止 这是我尝试捕获 Jython 代码中的所有异常 我发现 最困难的事情是当您重写 Java 类中的方法时捕获异常 使用下面的 vigil 装饰器 它还测试 EDT Event Despatch Thread 状态是否正确 您可以找
  • 对于某些正整数 n,m (int)pow(n,m) 会错误吗?

    Assuming n and m are positive integers and nm is within the range of an integer will int pow n m ever give a wrong answe
  • 用于下载、重命名和移动文件的 WinSCP 脚本

    Disclaimer 1 I posted this question on the WinSCP s forum but haven t received any replies and this issue is time sensit
  • 如何从 Firebird 中的非表中选择数据?

    我正在寻找 Firebird 的等效项 SELECT abc AS abc 123 AS def 20110101 AS dt 每当我这样做时 SELECT whatever as xxx 我收到一条错误消息 Firebird 与 Orac
  • 如何将没有标题的 Mediawiki 短 URL 重定向到主页?

    我已经为我的 mediawiki 实现了短 URL 并且 htaccess 中有这些可以使用 RewriteRule wiki DOCUMENT ROOT w index php L RewriteCond DOCUMENT ROOT RE
  • 如何根据主题标签更改活动链接的 CSS

    我这里有一个关于如何根据主题标签更改活动链接 css 的情况 所有内容都在同一页面中 我使用 url 部分来调用内容 我已经尝试了几个 javascript 示例和教程 但似乎它不起作用 所以我决定在这里创建一个新问题并与大家分享我的代码
  • 将点分隔的字符串解析为字典变量

    我的字符串值为 a a b b c d 如何将它们转换为Python字典变量 a a b b c d 字符串的第一部分 点之前 将成为字典名称 其余子字符串将成为字典键 我在解析不同部分中具有点分隔键的 ini 文件时遇到了同样的问题 例如
  • 无法在 Windows 7 上查询代理“自动检测设置”

    我正在尝试捕获代理设置 自动检测设置 我的代码适用于 XP 和 Vista 但它不适用于 Windows 7 请查看目标平台详情 Windows 7 企业版 IE 8 0 7600 16385 Wininet dll 8 0 7600 16
  • 使用 NumPy.arange 生成包括右端在内的等距值

    假设我想生成一个介于 0 和 1 之间 间距为 0 1 的数组 在R中 我们可以做 gt seq 0 1 0 1 1 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 在Python中 自从numpy
  • 超时命令在批处理文件中不起作用

    我正在尝试通过 tomcat 应用程序调用批处理文件 批处理执行正常 但是批处理中的超时命令没有暂停批处理 当直接执行批处理时 超时确实会按预期暂停进程 我将批处理调用为 Runtime getRuntime exec test bat 你