10

我需要获取计划作业正在执行的进程名称的确切位置。我想使用 WMIC JOB(如果您有任何其他建议......请告诉我)来获得它,但我不知道具体如何。我已经尝试了几种变化,但到目前为止没有运气。

我该怎么办?

4

3 回答 3

14

以下将起作用,尽管您只需要 " CommandLine"" ExecutablePath" - 而不是两者都需要:

wmic process where "ProcessID=1111" get CommandLine, ExecutablePath

它将返回如下内容,显示 PID 1111 的程序正在运行的位置:

"C:\Program Files (x86)\Common Files\MyProgram\Agent\agent.exe"
于 2014-09-09T16:00:24.820 回答
6

这是开始的事情。

获取服务的进程标识符Schedule

wmic service where name='schedule' get ProcessId
ProcessId
288

获取父进程标识为Schedule服务的进程

wmic process where ParentProcessId=288

已编辑

我不认为 Microsoft 系统中的工作是您正在寻找的:

作业对象允许将进程组作为一个单元进行管理。作业对象是可命名的、安全的、可共享的对象,它们控制与它们关联的进程的属性。对作业对象执行的操作会影响与作业对象关联的所有进程。示例包括强制执行限制,例如工作集大小和进程优先级或终止与作业关联的所有进程。

我认为您正在寻找过程。

要回答您的问题,我会查找调度服务启动的进程。如果你想要确切的位置,它是由属性给出的ExecutablePath

wmic process where ParentProcessId=288 get ExecutablePath
ExecutablePath
C:\Windows\system32\wuauclt.exe
于 2011-12-10T08:11:53.373 回答
-2

WMIC 内置了渐进式帮助,因此您可以/?在任何地方学习其语法

C:\WINDOWS\system32>wmic
wmic:root\cli>/?

[global switches] <command>
于 2016-05-28T17:53:15.330 回答