【问题标题】:Batch File: Start two Processes Simultaneously then Kill Process 1 once Process 2 is Complete批处理文件:同时启动两个进程,然后在进程 2 完成后终止进程 1
【发布时间】:2021-09-28 19:13:25
【问题描述】:

我需要使用一个批处理文件同时运行两个进程,Process1 和 Process2。

我设法使用 start 命令做到了这一点,如下所示:

start "PROCESS1" Process1
start "PROCESS2" Process2

一旦 Process2 完成,我想终止 Process1。 目前,我通过等待 Process2 完成然后在 Process1 批处理窗口上手动按 CTRL+C 来执行此操作。有没有办法自动做到这一点?

谢谢

【问题讨论】:

  • 你试过什么?您知道页面顶部有一个内置的站点搜索工具吗?我建议你使用它;您的问题不是唯一的,而且就目前而言,因为您没有尝试执行您布置的任务,所以您的问题只不过是一个直接的代码请求。
  • @Compo,虽然不是很有帮助,但感谢您的回复。在发布这个问题之前我确实进行了搜索,但我找不到我需要的东西:我可以设法让进程同时运行,但我仍然必须手动停止一个进程。如果您觉得我的问题不是唯一的,您能否添加一个有用的链接到类似问题?
  • 您以Once... 开头的句子声称,Process1 自行结束,而Process2 需要手动终止。下一句(以At present... 开头)声明相反:Process2 自行结束,而Process1 需要手动终止。请说清楚。另一个问题:进程的启动顺序重要吗?
  • 先是start "PROCESS1" "Process1",然后是start "PROCESS2" /WAIT "Process2",最后是taskkill /FI "WindowTitle eq PROCESS2"?
  • 你不需要“启动”第二个进程:start "PROCESS1" "Process1" & Process2 & taskkill /FI "WindowTitle eq PROCESS1"

标签: batch-file automation terminate


【解决方案1】:

感谢所有提供有用建议的人。

如果其他人遇到类似问题,我将发布一个适合我的解决方案,基本上遵循 @Aacini 的建议:

Start "PROCESS1" Process1
Process2
taskkill /T /FI "WindowTitle eq PROCESS1"

通过不“启动”Process2,任务终止命令仅在该进程完成后执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    相关资源
    最近更新 更多