Haw*_*eye 30 windows windows-command-prompt pid
在数据库上,我可以获得所有当前正在运行的进程的列表,以及启动它们的 sql 命令。
我想在 windows box 上做类似的事情。
我可以获取进程列表,但不能获取启动它们的命令行。
我的问题是:给定 Windows 上的 PID - 如何找到执行它的命令行指令?
假设:
Rya*_*ies 40
Powershell 和 WMI。
Get-WmiObject Win32_Process | Select ProcessId,CommandLine
Run Code Online (Sandbox Code Playgroud)
或者
Get-WmiObject -Query "SELECT CommandLine FROM Win32_Process WHERE ProcessID = 3352"
Run Code Online (Sandbox Code Playgroud)
请注意,您必须有权访问有关进程的此信息。因此,如果您想了解的进程在特权上下文中运行,则您可能必须以管理员身份运行该命令。
Rob*_*obW 21
您可以使用 WMI 子系统,使用 WMIC.EXE 来获取此信息。假设 PID 为 600:
wmic.exe path Win32_Process where handle='600' get name, commandline /format:list
Run Code Online (Sandbox Code Playgroud)
您还可以搜索进程的名称或其他特征。使用此命令列出所有属性:
wmic.exe path Win32_Process get /format:list
Run Code Online (Sandbox Code Playgroud)
小智 16
其他答案当然是不错的选择,由于它们的命令行性质,它们将在自动化系统中为您提供良好的服务(我从标签中看到这正是您想要的)。当然,有些人可能想用 GUI 探索这类信息,所以这里有一个替代方案。
Process Explorer 是 Microsoft 维护的 Sysinternals 工具。它可以在进程的属性对话框以及启动它的父进程中显示进程的命令行,尽管该进程的名称可能不再可用。这是进程属性对话框:

如果您想获得有关进程何时启动以及在何种条件下启动的更详细的审计跟踪,您可以求助于另一个名为 Process Monitor 的 Sysinternals 工具。在这里,您可以过滤“流程启动”事件,了解流程启动的环境,并查看当时发生的其他事件。这是一个非常强大的程序。这是事件属性对话框:

| 归档时间: |
|
| 查看次数: |
23508 次 |
| 最近记录: |