ProcessStatus QML 类型

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

导入语句import QtApplicationManager.SystemUI 2.0

属性

信号

方法

详细描述

ProcessStatus 提供有关指定应用程序进程的详细信息。

您可以用它配合计时器,例如,定期查询应用程序进程的状态。

import QtQuick 2.11
import QtApplicationManager 2.0
import QtApplicationManager.SystemUI 2.0

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 2.11
import QtApplicationManager 2.0
import QtApplicationManager.SystemUI 2.0
...
MonitorModel {
    running: true
    ProcessStatus {
        applicationId: "some.app.id"
    }
}

以下是在内存属性中支持的键(memoryVirtualmemoryRssmemoryPss

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

属性文档

applicationId : string

包含要监视的进程所属应用程序的 ID。此 ID 必须是应用程序管理器所知道的 ID(applicationIds() 提供有效 ID 的列表)。有一个例外:如果您想监视 System UI 的进程,则将 ID 设置为空字符串。在单进程模式下,System UI 进程是唯一有效的进程,因为所有应用程序都在此进程中运行。

另请参阅 ApplicationObject.


[只读] cpuLoad : real

此属性在调用 update() 的上一个测量间隔期间包含进程的 CPU 利用率。值为 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。在你的系统界面中,确定内存消耗的过程会增加CPU的负载,从而影响cpuLoad值。如果需要确保cpuLoad的准确性,考虑禁用内存报告。


[只读] memoryRss : var

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

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

参见ProcessStatus::update()


[只读] memoryVirtual : var

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

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

参见ProcessStatus::update()


[只读] processId : int

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


[只读] roleNames : list<string>

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

参见MonitorModel


信号文档

memoryReportingChanged(var memoryVirtual, var memoryRss, var memoryPss)

在调用update()并刷新内存使用值之后,会发出此信号。每个参数memoryVirtualmemoryRssmemoryPss都是一个包含上述表列出的可用属性的JavaScript对象。上表

注意:相应的事件处理程序是onMemoryReportingChanged


方法文档

update()


©2019年卢芙特瑞典AB公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发表的GNU自由文档许可证第1.3版的条款提供的。Qt及其相关标志是芬兰Qt有限公司和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。