如何使用 WScript.Shell 或类似程序获取上次启动的进程的 Windows PID?
我知道如何启动一个进程并获取其 PID:
Set oExec = WshShell.Exec( program )
Set pid = oExec.ProcessID
现在的问题是该程序是另一个批处理(或可能是 VBScript)。该批处理启动一个我想要获取其 PID 的真实程序。
在 Linux(shell 脚本)上,这很容易做到。只需pid=$!
但是在 Windows 上我能做什么呢?
答案1
我认为 Windows 中没有与 $! 等效的词。
如果您希望检索第三个进程的 PID,可以使用 WMI 进行搜索。可以找到一个示例这里(仅搜索并显示信息)或这里(搜索并终止该进程)。
如果不知道第三个名称的可执行文件,您可能需要使用Job 对象它将多个进程分组到一个对象中。你可以轻松地一次性杀死所有进程终止作业对象。
看微软快速概览或StackOverflow 上的这个问题。
但是,我不知道这些方法是否可以从 VBScript 中使用。