【问题标题】:Tasklist total memory of specific proces with subprocesses windows带有子进程窗口的特定进程的任务列表总内存
【发布时间】:2016-09-05 12:23:44
【问题描述】:

我正在尝试记录浏览器的内存使用情况,例如 Chrome / Firefox 等。

对于 Firefox,我可以简单地使用这个小命令行:

tasklist /fo csv /fi "imagename eq firefox.exe" > DumpResults.csv

这将通过一个过程及其用法得到很好的结果。但是,当您将这一思路应用到 Chrome 时,即使您完全启动了 Chrome,您也会得到大约 4 个进程。有什么方法可以总结结果吗?

抱歉这个愚蠢的问题,但这是我第一次尝试创建一个 bat 文件。

【问题讨论】:

    标签: batch-file memory command-prompt tasklist


    【解决方案1】:

    另一种选择……

    @Echo Off
    Set "sum=0"
    For /F "Tokens=6-7 Delims=., " %%a In (
        'TaskList /NH /FI "ImageName Eq chrome.exe"') Do Set/A sum+=%%a%%b
    Set sum
    Pause
    

    …防止使用两个循环

    【讨论】:

    • 清洁解决方案 :) 谢谢!
    【解决方案2】:
    @echo off
    set sum=0
    for /f "tokens=5 delims=," %%x in ('tasklist /fo csv /nh /fi "imagename eq chrome.exe"') do (
      for /f "tokens=1-4 delims=.K " %%a in (%%x) do set /a sum+=%%a%%b%%c%%d
    )
    echo Sum Chrome = %sum%
    

    也许您必须使分隔符适应您的本地设置。我电脑上的输出是这样的:

    C:\Users> tasklist /fo csv /nh /fi "imagename eq chrome.exe"
    "chrome.exe","7744","Console","1","86.388 K"
    "chrome.exe","7784","Console","1","1.312 K"
    "chrome.exe","7920","Console","1","50.188 K"
    ...
    

    【讨论】:

    • 我有相同的输出,但脚本返回 ||系统找不到文件92。||总和铬 = 0 ||找不到大约 6 次,所以这与运行 atm 的 chrome 进程一样多,但找不到将其放入代码中的方法......抱歉
    • 只是将我的代码从上面复制粘贴到一个新的 batfile 中。对我来说很好。你有什么改变吗?试试... %%a in ("%%~x") ...
    • 虽然我不是很明白,但还是为我解决了这个问题,非常感谢!我会试着一点一点地学习你给我的东西! :)
    • 删除了我的问题,我只需要在我想分开的值之间的回声中加入“,”,抱歉打扰你:)
    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多