求PowerShell命令:筛选CPU时间超10秒的进程并指定列显示
解决PowerShell筛选CPU运行时间超10秒进程的需求
没问题,这就帮你整理出符合要求的PowerShell命令,还会拆解每部分的作用,方便你理解:
基础实现版本
直接筛选并展示指定属性,CPU时间以秒数显示:
Get-Process | Where-Object { $_.CPU -gt 10 } | Select-Object Name, CPU, Id
代码拆解:
Get-Process:获取当前系统中所有正在运行的进程列表Where-Object { $_.CPU -gt 10 }:过滤出累计CPU运行时间超过10秒的进程,$_.CPU返回的是该进程占用的总CPU时间(单位:秒)Select-Object Name, CPU, Id:仅保留我们需要的三个字段:进程名称(Name)、CPU运行时间(CPU)、进程ID(Id)
优化格式版本(可选)
如果你希望CPU时间显示为更易读的时:分:秒格式,可以用自定义属性转换:
Get-Process | Where-Object { $_.CPU -gt 10 } | Select-Object Name, @{Name='CPUTime'; Expression={[TimeSpan]::FromSeconds($_.CPU)}}, Id
这里通过@{Name='CPUTime'; Expression={...}}把原始的秒数转换成TimeSpan对象,最终会显示类似00:00:12这样的时间格式,可读性更强。
内容的提问来源于stack exchange,提问作者Ruairi Carroll
相关产品推荐
相关产品推荐

