powershell - 如何以分钟为单位获取进程的开始时间?
问题描述
我需要以分钟为单位(仅几分钟)获取进程的开始时间。
我已经有代码来获取目录的修改日期时间:
[int]([datetime]::Now - (gci 'C:\Folder' -Force).LastWriteTime).TotalMinutes
我怎样才能为只占用几分钟的进程创建类似的东西?
解决方案
并非所有进程都设置了属性 StartTime,因此:
Get-Process | ForEach-Object {
if($_.StartTime){
[PSCustomObject]@{
Process = $_.Name
RunsMinutes=[int]([datetime]::Now - $_.StartTime).TotalMinutes
}
}
}
会产生这样的东西:
Process RunsMinutes
------- -----------
avgnt 631
Avira.Systray 631
ClassicStartMenu 632
cmd 246
conhost 561
conhost 246
conhost 459
ctfmon 632
dllhost 632
explorer 632
fdm 631
firefox 594
firefox 631
...
推荐阅读
- android - Android SQLite 获取表的大小(以 kb 为单位)
- wordpress - 将存档模板应用于帖子类别时未捕获的错误
- jquery - 仅在视口中播放视频一次
- angular - 如何在 ngx-slick-carousel 中显示最后一个元素
- c - for循环,为什么总是执行最后一个条件?
- delphi - 如何将变量类型声明为泛型?
- validation - 在数据验证中复制和粘贴升序单元格
- java - 在列表中查找匹配项以使用 Java 8 创建新列表
- r - R数据框:按组创建加权平均
- automapper - Automapper ProjectTo 不映射多语言实体