提问人:Tim Kirkwood 提问时间:11/4/2023 最后编辑:Tim Kirkwood 更新时间:11/4/2023 访问量:100
在通过 BAT 文件完成进程之前终止 CMD 行进程
terminate cmd line process before process finishes via bat file
问:
我正在尝试编写一个 bat 文件,运行一个大约需要 1 小时才能完成的进程,在 N 分钟后终止它,然后启动另一个进程。以这种方式运行一系列命令后,我想暂停脚本,以便我可以从命令行窗口复制一些输出(每个打印的进程都有一个键,这将允许我在进程完成运行时获取相关数据)。在实践中,这看起来像(N = 3 分钟):
command -flags
timeout 180
*kill command*
command -new_flags
timout 180
*kill command*
#more commands, timouts and kills...
command -yet_more_new_flags
timout 180
*kill command*
pause
这样做的主要问题似乎是:
- 我不知道 kill 命令会是什么(理想情况下是 相当于我在程序启动后按 ctrl-C
- 每个命令都是按顺序执行的,因此只有在进程完成后才会运行 kill 命令。这不是我 想要 - 我的目标是在进程运行后停止它 N 分钟,但尚未完成。这个过程很长,所以我想 开始一堆,拿到他们的钥匙,然后在他们完成后回来 (即半并发运行它们)而不是等待一个小时 在每一个之间。
请有人解释一下如何实现这一目标?
谢谢!
答: 暂无答案
评论
Start "" "P:\athTo\process.exe" -ProcessArguments
.您很可能会从打开命令提示符窗口、键入和按键中受益。我也希望看到而不是 ,(我认为这就是你用timout 180
的多个错别字的意思)。%SystemRoot%\System32\taskkill.exe /?
[ENTER]
%SystemRoot%\System32\timeout.exe /T 180 /NoBreak
timeout 180