如何找出正在运行的程序的命令行参数?

如何找出正在运行的程序的命令行参数?

我正在寻找一种工具或方法来找出已传递给程序的命令行参数,例如当它由另一个程序运行时(启动器应用程序场景)。

答案1

您可以使用进程探索器

只需将鼠标悬停在进程上即可查看用于启动该进程的命令行参数:
“chrome.exe”进程列表

或者,您可以打开特性该过程并检查那里的命令行:
“chrome.exe”进程的属性

答案2

您也可以不使用 Process Explorer,而是使用 Windows 的 WMI 服务来执行此操作。从命令提示符运行以下命令:

WMIC path win32_process get Caption,Processid,Commandline

如果您想要将输出转储到文件(使其更容易阅读),请使用 /OUTPUT 开关:

WMIC /OUTPUT:C:\Process.txt path win32_process get Caption,Processid,Commandline

答案3

也可以通过使用任务管理器

打开任务管理器(通过 CTRL-SHIFT-ESC、CTRL-ALT-DELETE 或任何其他方法)。

对于 Windows 7(可能还有 Windows XP):

  • 转到“进程”选项卡。在“视图”菜单上,选择“选择列...”。
  • 勾选“命令行”复选框,然后单击“确定”。(您可能需要向下滚动才能找到它)

对于 Windows 8:

  • 转到“详细信息”选项卡。右键单击任意列(例如名称、PID 等),然后选择“选择列”。
  • 勾选“命令行”复选框,然后单击“确定”。(您可能需要向下滚动才能找到它)

当前显示的列中将添加一列命令行。

答案4

如果进程已在运行且不会很快终止,上述答案非常有用。但是,如果您需要(就像我一样)执行此操作,也许进程会多次启动和/或快速终止,或者记录较长时间内的事件,那么可以使用进程监控

基本上,它记录系统中的各种事件,在这种情况下,我们可以只过滤“进程启动”事件和我们想要监视的进程的名称,如下所示:

在此处输入图片描述

然后只需保持进程监视器运行,并执行任何操作以使您想要记录的进程运行。您可以在“详细信息”列或“命令行”列(取决于您如何配置它们)中看到命令行参数。例如:

在此处输入图片描述

当然,通过这种方式,您可以提取更多相关信息,例如工作目录是什么、在进程中传递了哪些环境变量等等...还可以轻松地将结果导出到文件中。

相关内容