【发布时间】:2017-07-24 17:56:32
【问题描述】:
我有一个在多个CMD 会话中调用自身的批处理文件,例如:
@echo off
if "%var%"=="set" goto :begin
set var=set
call cmd /c %0
:begin
echo Inside CMD session! Executed under x processes
pause
我想要完成的是获取正在调用批处理文件的进程数。
普通批处理文件:
| Batch-file
| Batch script
将返回 1,因为正在从根进程调用批处理文件
多进程批处理文件:
| Batch-file
| CMD
| Batch-file
| Batch script
将返回 2,因为正在从另一个批处理文件调用批处理文件。
一种可能的解决方案是获取根进程标识符号 (PID),然后分析该进程的等待链,我可以在任务管理器中轻松完成:
总结: 如何返回批处理文件在使用或不使用任何第三方实用程序的情况下执行的进程数?
【问题讨论】:
标签: windows batch-file cmd process pid