进程已运行多长时间(正常运行时间)

进程已运行多长时间(正常运行时间)

情况

过去几天,我一直在笔记本电脑上运行一个进程,进行一些繁重的处理。每天晚上我都会让电脑休眠,然后在早上启动它。

我寻求的

我正在寻找一种方法来确定这个过程已经运行了多长时间。

我尝试过的方法

  • 使用 PowerShell 我能够找到我的进程的开始时间。

    Get-Process | Select-Object id, starttime, name |Sort-Object name
    

    但是这只是开始时间。我想知道我的进程已经运行了多长时间。而不是从它开始运行以来的时间。

    2014 年 6 月 13 日上午 9:15:43 -> 现在(2014 年 6 月 24 日上午 10:38:45)= 11 天 1 小时 23 分钟 0 秒。

  • 使用任务管理器,在“进程”选项卡下,我查看了“CPU 时间”列,它很有用,并且可能为“运行该程序需要多少时间”提供最好的统计数字,但它不是该进程运行了多长时间。

    363:47:35

编辑:我认为我不是很清楚,我知道如何获取自此过程开始以来经过的时间,但这不是该过程运行的时间量,因为我将计算机休眠,这基本上会冻结它。所以我粗略地寻找自开始过程以来经过的时间减去从现在到过程开始之间的休眠时间。

答案1

在 PowerShell 中:

PS C:\> New-TimeSpan -Start (get-process notepad).StartTime

找到此命令TechNet 博客

答案2

(Get-Process | ft Name,@{label="Elapsed Time";expression={[System.Math]::Round(((Get-Date)-$_.StartTime).totalseconds)}})

相关内容