gpt4 book ai didi

batch-file - 如何在cmd中设置命令的超时时间

转载 作者:行者123 更新时间:2023-12-02 03:23:56 24 4
gpt4 key购买 nike

我想运行一个命令,如果它没有在 1 秒内完成,我希望它返回 31744。

示例:

C:\Users\Admin\Desktop\my_django_stuff>mycommand < input.txt > output txt 
timeout /t 1

这给了我一个语法错误,如果我的命令的运行时间是无限的,那么它也不会在 1 秒后停止。

最佳答案

start "UniqueWindowTitle" mycommand < input.txt > output txt
ping -n 2 localhost >nul
taskkill /FI "WINDOWTITLE eq UniqueWindowTitle" /f |find " PID " && (
echo task was killed.
exit /b 31744
) || (
echo there was no task to kill.
echo it terminated in time.
)

遗憾的是taskkill不会返回有用的错误级别,因此我们解析输出(如果任务被终止,则成功:向PID为12345的进程发送终止信号 .
根据您的实际应用程序,您可能需要也可能不需要 /f 参数(“Force”)

我用 ping-n 2 localhost 替换了 timeout,因为 timeout 1 实际上不会等待 1 秒,而是直到“下一秒”到达 - 在极端情况下可能只有几毫秒。

此外,我没有寻找“SUCCESS”,而是寻找“PID”以保持其语言独立性。 (当没有找到进程时,没有PID)。

关于batch-file - 如何在cmd中设置命令的超时时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53977026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com