要准确知道软件连续运行时长,需用系统自带工具:任务管理器可查“运行时间”列(天:小时:分钟:秒),PowerShell支持精确秒级查询与实时刷新,资源监视器能记录历史数据并导出.etl日志供深度分析。

要准确知道某个软件在电脑上已经连续运行了多久,比如判断微信是否卡死、验证后台程序是否异常驻留,必须借助系统自带的性能监控工具而非第三方软件,否则可能读取到错误的时间戳或被权限拦截。
通过任务管理器查看进程运行时长
按 Ctrl + Shift + Esc 直接打开任务管理器(避免先唤出Ctrl+Alt+Del菜单再选,节省两秒且防止误触锁定)。
切换到「详细信息」选项卡,如果没看到该标签,点右下角「更多详细信息」展开完整视图。
右键点击任意列标题(如“名称”“PID”),选择「选择列」→ 勾选「运行时间」→ 点击确定。此时新增的「运行时间」列会以「天:小时:分钟:秒」格式显示每个进程自启动以来的持续运行时长。
注意:此时间从进程创建起计算,若程序崩溃后自动重启,计时将重新归零;【系统关键进程如svchost.exe的运行时间可能远超你开机时长,这是正常现象,因Windows会复用宿主进程】。
使用PowerShell命令精确获取指定应用运行秒数
方法一:快速单次查询(适合已知进程名)
以管理员身份运行PowerShell → 输入:Get-Process 微信 | Select-Object Name, StartTime, @{Name='UptimeSeconds';Expression={(Get-Date) - $_.StartTime | Select-Object -ExpandProperty TotalSeconds}} → 回车执行。
方法二:实时刷新监测(适合调试闪退程序)
输入:while($true){Clear-Host; Get-Process chrome | Select-Object Name, @{Name='UptimeSec';Expression={[math]::Round((Get-Date) - $_.StartTime | Select-Object -ExpandProperty TotalSeconds)}}; Start-Sleep -Seconds 2} → 按 Ctrl+C 中断循环。
这一步必须确保进程名拼写完全匹配(区分大小写),例如「WeChat.exe」在任务管理器中显示为「微信」,但PowerShell里要用实际文件名「WeChat」;【若提示“找不到匹配进程”,请先在任务管理器「详细信息」页确认该进程的确切映像名称】。
启用资源监视器记录历史运行数据
第一步:按 Win+R 输入 resmon 回车,打开资源监视器。
第二步:切换到「CPU」选项卡 → 在下方「关联的句柄」搜索框中输入应用关键词(如“qq”),回车筛选。
第三步:找到目标进程后,右键 → 「分析等待链」→ 观察「启动时间」字段右侧显示的具体日期与时间戳。
第四步:勾选左上角「记录」→ 点击「开始记录」→ 此时资源监视器会在后台捕获CPU、磁盘、网络活动快照,包括进程生命周期事件;记录文件默认保存在 %SystemRoot%\System32\WDI\LogFiles\ 下,扩展名为.etl。
这一步生成的.etl日志无法直接阅读,需用Windows Performance Analyzer(WPA)工具打开分析;【若仅需当前时刻运行时长,前三步已足够,无需开启记录功能】。











