【发布时间】:2016-11-01 05:24:43
【问题描述】:
我正在尝试运行一个程序并获取其 PID,以便在程序在执行期间挂起时终止该程序。我无法杀死带有程序名称的程序,因为在 PC 上运行的程序不止一个。 我遇到了论坛并得到了 wmic 使用的建议,但是我无法通过使用 wmic 调用它来获得程序的输出。
这与这篇文章中提到的问题大致相同: Remote Netstat to STDOUT with WMIC?
我按照建议尝试了这个命令来执行程序并输出:
wmic process call create "cmd /C > C:\temp\test.txt 2>&1 netstat.exe -ano"
使用这个命令,我可以检索程序的输出,但是程序实际上是从另一个 cmd 调用的?这违背了我最初尝试使用 wmic 的初衷。
任何人都可以告诉我是否有另一种方法来获取输出或另一种方法来从批处理中调用程序,获取它的 PID 和被调用程序的输出重定向?
【问题讨论】:
-
wmic Process Call Create ...输出相关的ProcessId,因此您可以稍后通过另一个wmic命令行使用它,使用Where ProcessId=...,如wmic Process Where ProcessId=... Call Terminate,或taskkill /PID ......
标签: batch-file