ProcessStatus QML 类型

提供关于应用程序进程状态的信息。 更多信息...

导入语句import QtApplicationManager.SystemUI 2.0

属性

信号

方法

详细说明

ProcessStatus 为指定应用程序的进程提供信息。

您可以将其与计时器一起使用,例如,定期查询应用程序进程的状态。

import QtQuick
import QtApplicationManager
import QtApplicationManager.SystemUI

Item {
    id: root
    property var application: ApplicationManager.get(0)
    ...
    ProcessStatus {
        id: processStatus
        applicationId: root.application.id
    }
    Timer {
        interval: 1000
        running: root.visible && root.application.runState === Am.Running
        repeat: true
        onTriggered: processStatus.update()
    }
    Text {
        text: "PSS.total: " + (processStatus.memoryPss.total / 1e6).toFixed(0) + " MB"
    }
}

如果您想将此类型用作 MonitorModel 的数据源,以便绘制其随时间的变化值,您也可以使用此类型。

import QtQuick
import QtApplicationManager
import QtApplicationManager.SystemUI
...
MonitorModel {
    running: true
    ProcessStatus {
        applicationId: "some.app.id"
    }
}

以下是内存属性(memoryVirtualmemoryRssmemoryPss)所支持的键:

描述
total使用的总内存量,以字节为单位。
text代码部分使用的内存量,以字节为单位。
heap堆使用的内存量,以字节为单位。堆是私有、动态分配的内存,例如在 Linux 上通过 mallocmmap

属性文档

applicationId : string

持有要监视进程的应用程序的 ID。此 ID 必须是应用程序管理器所知的 ID(《applicationIds() 获取有效 ID 的列表)。有一个例外:如果您想监视系统 UI 的进程,请将 ID 设置为空字符串。在单进程模式下,系统 UI 进程是唯一有效的进程,因为所有应用程序都在此进程中运行。

另请参阅ApplicationObject


cpuLoad : real [只读]

此属性保存了上一次测量间隔期间进程的CPU利用率。当update()最后一次被调用时。值为0表示进程空闲;值为1表示进程使用了相当于一个核心的能力,这可能会分布在几个核心上。

另请参阅 ProcessStatus::update


memoryPss : var [只读]

进程比例设置大小(PSS)内存使用的映射。这是在ProcessStatus::memoryRss中的RSS值的比例份额。例如,如果两个进程共享2MB,那么每个进程的RSS值是2MB;PSS值是每个进程1MB。正如其名所暗示的,共享库的代码部分通常在进程间共享。内存也可以通过OS提供的其他方式共享,例如,通过Linux上的mmap。有关更多信息,请参阅支持键的表格

调用ProcessStatus::update()将更新此属性的值。

另请参阅 ProcessStatus::update


memoryReportingEnabled : bool

一个布尔值,用于确定在update()被调用时是否刷新内存属性。默认值是true。在你的系统UI中,确定内存消耗的过程会向CPU添加额外的负载,影响cpuLoad值。如果要保持cpuLoad值准确,请考虑禁用内存报告。


memoryRss : var [只读]

进程常驻集大小(RSS)内存使用的映射。这是实际映射到物理RAM的内存量。有关更多信息,请参阅支持键的表格

调用ProcessStatus::update()将更新此属性的值。

另请参阅 ProcessStatus::update


memoryVirtual : var [只读]

进程虚拟内存使用的映射。例如,通过memoryVirtual.total提供虚拟内存总量。有关更多信息,请参阅支持键的表格

调用ProcessStatus::update()将更新此属性的值。

另请参阅 ProcessStatus::update


processId : int [只读]

此属性持有被监控的操作系统特定的进程标识符(PID)。例如,它可以被外部工具使用。如果没有进程与applicationId关联,则该属性值为0。特别是,如果应用程序管理器以单进程模式运行,则只有一个系统UI与进程相关联。系统UI始终通过一个空applicationId进行标识。


roleNames : list<string> [只读]

ProcessStatus用作MonitorModel的数据源时,它提供的角色名称。

另见 MonitorModel.


信号文档

memoryReportingChanged(var memoryVirtual, var memoryRss, var memoryPss)

此信号在调用update()之后发出,并且已经刷新了内存使用值。每个参数memoryVirtualmemoryRssmemoryPss都是一个JavaScript对象,具有如下表格中列出的可用属性。

注意:对应处理器为onMemoryReportingChanged


方法文档

update()


© 2024 Qt公司有限公司。本文件中包含的文档贡献属于其各自的业主。所提供的文档是根据自由软件基金会发布的GNU自由文档许可协议版本1.3授予的。Qt及其相关商标是芬兰的Qt公司或其他国家的商标。所有其他商标均为其各自的业主所有。