📌  相关文章
📜  使用 tasklist 在批处理文件中获取 pid - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:06:51.346000             🧑  作者: Mango

使用tasklist在批处理文件中获取pid

tasklist是Windows操作系统中用于打印当前正在运行的进程的命令行工具。在批处理文件中,我们可以使用它来获取指定进程的PID(进程标识符)。

示例代码

下面是一个获取notepad.exe进程PID的示例代码:

@echo off
 
set EXIT_MESSAGE=
for /f "tokens=2" %%i in ('tasklist /fi "imagename eq notepad.exe" /nh') do (
    set PID=%%i
)
if not defined PID (
    set EXIT_MESSAGE=Process not found.
)
echo %EXIT_MESSAGE%Process ID: %PID%

代码解释:

  1. @echo off 隐藏命令行窗口
  2. set EXIT_MESSAGE= 初始化退出信息为空
  3. for /f "tokens=2" %%i in ('tasklist /fi "imagename eq notepad.exe" /nh') do (...) 使用for循环遍历所有notepad.exe进程,并将PID存储在变量PID
  4. if not defined PID (...) 如果PID变量未定义,则说明没有找到指定进程
  5. echo %EXIT_MESSAGE%Process ID: %PID% 输出退出信息和所获得的PID
输出示例

如果notepad.exe进程正在运行,输出示例如下:

Process ID: 1234

若进程未运行,则输出示例如下:

Process not found.