Debugging 查找给定进程名称的进程(独占)的进程ID(不是提供所有进程PID的netstat)

Debugging 查找给定进程名称的进程(独占)的进程ID(不是提供所有进程PID的netstat),debugging,batch-file,automation,command-prompt,dll-injection,Debugging,Batch File,Automation,Command Prompt,Dll Injection,我需要执行以下操作: 启动firefox 加载包含一些插件内容的页面 查找插件进程的processID 使用processID将cdb附加到插件进程 检测插件加载的DLL 为了使用批处理脚本实现自动化,我需要一种方法来查找给定进程名称的processID。有办法吗?您可以使用wmic返回: wmic进程,其中name=“cmd.exe”get processid获取所有运行cmd.exe的PID。 假设您不知道完整的进程名(这就是为什么您不能使用cdb-pn?),您也可以使用比如: wmic进程

我需要执行以下操作:

  • 启动firefox
  • 加载包含一些插件内容的页面
  • 查找插件进程的processID
  • 使用processID将cdb附加到插件进程
  • 检测插件加载的DLL

  • 为了使用批处理脚本实现自动化,我需要一种方法来查找给定进程名称的processID。有办法吗?

    您可以使用wmic返回:
    wmic进程,其中name=“cmd.exe”get processid
    获取所有运行cmd.exe的PID。
    假设您不知道完整的进程名(这就是为什么您不能使用
    cdb-pn
    ?),您也可以使用
    比如

    wmic进程,其中“像“%cmd%”这样的名称”get processid
    将在其名称中的任何位置使用
    cmd
    获取所有内容。也可以使用其他SQL通配符

    要查看可以查询哪些属性,请打开wmic(只需从命令行执行
    wmic
    ),然后发出
    process get/?


    注意:wmic以Unicode格式生成输出,并将double
    附加到其输出行。这有时需要在批次中特别注意和处理

    控制台调试器,它是WindBg的命令行版本。当您在firefox下打开包含flash内容的页面时,如果有两个同名的进程,例如两个firefox.exe/chrome.exe进程或两个flash player进程,会发生什么情况?那么您将同时获得这两个进程-但无论如何,您需要使用一些标准来区分这些流程-它们是什么?有许多属性可用于仅选择您感兴趣的属性。例如,如果您知道父项的pid,则可以在添加到wmz中时使用该pid进行选择。但是,不,我不知道父进程的进程ID。我已经找到了许多方法来获取这两个进程的进程ID,但是没有办法(或者不知道任何方法)选择其中一个。这就是我现在正在调查的。如果你知道我可以用什么方法来做这件事,请告诉我。给未来的谷歌用户一个简短的提示:正如ProcessId一样,
    ParentProcessId
    也可以在wmic的进程“对象”(用于查询和输出)中使用,因此人们实际上可以通过进程(在最坏的情况下多次调用它)来确定父子关系。