约 2052 字

约 10 分钟

#进程管理

进程是操作系统运行程序的基本单位。PowerShell 提供了一组以 Process 结尾的命令,用于查看、启动、等待和终止进程。这些命令在 Windows、Linux 和 macOS 上基本通用。

#查看进程

Get-Process 返回当前系统上的进程对象:

> Get-Process

可以按名称筛选,名称支持通配符:

> Get-Process -Name pwsh*

常用的进程属性如下:

属性说明
Id进程 ID
ProcessName进程名称
CPU累计占用的处理器时间(秒)
WorkingSet64工作集大小(字节)

例如找出占用内存最多的前五个进程:

> Get-Process | Sort-Object -Property WorkingSet64 -Descending |
    Select-Object -First 5 ProcessName, Id, WorkingSet64

#启动进程

Start-Process 用于启动一个可执行文件或文档:

Start-Process -FilePath <路径> [-ArgumentList <参数>] [-WorkingDirectory <目录>]

常用参数:

  • -FilePath - 要启动的程序或文件
  • -ArgumentList - 传给程序的参数,多个参数用数组表示
  • -WorkingDirectory - 启动时使用的工作目录
  • -PassThru - 返回进程对象,便于后续操作
  • -Wait - 等待进程结束后再返回
> $p = Start-Process -FilePath pwsh -ArgumentList '-NoProfile', '-Command', 'Start-Sleep 3' -PassThru
> $p.Id

加上 -Wait 时,命令会阻塞到目标进程退出:

> Start-Process -FilePath pwsh -ArgumentList '-NoProfile', '-Command', 'Write-Host 完成' -Wait

#终止进程

Stop-Process 按 ID 或名称终止进程:

> Stop-Process -Id 1234

名称支持通配符,但可能同时匹配多个进程,建议先确认:

> Get-Process -Name python* | Select-Object Id, ProcessName
> Stop-Process -Name python* -Force

-Force 会跳过确认,但不会尝试优雅地关闭程序。

#等待进程

Wait-Process 等待指定进程退出:

> Wait-Process -Id 1234
> Wait-Process -Name pwsh -Timeout 30
  • -Timeout 指定最长等待秒数,超时会报错;若进程已退出,命令会立即返回。

#注意事项

Get-Process、Stop-Process 等命令在 Linux 和 macOS 上只显示当前用户有权限访问的进程信息。操作系统对进程的控制也受到权限限制,终止系统进程通常需要管理员权限。

#推荐阅读

更新: 2026/11/2

作者: planc

创建: 2026/11/2