ProcessStatus QML 类型
提供有关应用程序进程状态的详细信息。 更多...
导入语句 | import QtApplicationManager.SystemUI 2.0 |
属性
- applicationId : string
- cpuLoad : real
- memoryPss : var
- memoryReportingEnabled : bool
- memoryRss : var
- memoryVirtual : var
- processId : int
- roleNames : list<string>
信号
- memoryReportingChanged(var memoryVirtual, var memoryRss, var memoryPss)
方法
- update()
详细描述
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" } }
以下是在内存属性中支持的键(memoryVirtual
、memoryRss
和 memoryPss
)
键 | 描述 |
---|---|
total | 使用的总内存量,以字节为单位。 |
text | 代码部分的内存使用量,以字节为单位。 |
heap | 堆的内存使用量,以字节为单位。堆是私有的、动态分配的内存,例如在 Linux 上通过 malloc 或 mmap 。 |
属性文档
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()将更新此属性的值。
memoryReportingEnabled : bool |
一个布尔值,它确定每次调用update()时是否刷新内存属性。默认值是true
。在你的系统界面中,确定内存消耗的过程会增加CPU的负载,从而影响cpuLoad
值。如果需要确保cpuLoad
的准确性,考虑禁用内存报告。
[只读] memoryRss : var |
进程的常驻集大小(RSS)内存使用情况的图。这是实际映射到物理RAM的内存量。有关更多信息,请参阅支持的键表。
调用ProcessStatus::update()将更新此属性的值。
[只读] memoryVirtual : var |
进程的虚拟内存使用情况的图。例如,通过memoryVirtual.total
提供总虚拟内存量。有关更多信息,请参阅支持的键表。
调用ProcessStatus::update()将更新此属性的值。
[只读] processId : int |
此属性持有监视的操作系统特定的进程标识符(PID)。它可以由外部工具使用,例如。如果与应用程序ID关联的没有进程,则该属性为0。特别是,如果应用程序管理器在单进程模式下运行,只有系统界面有一个关联的进程。系统界面始终通过一个空的applicationId来识别。
当ProcessStatus作为MonitorModel的数据源使用时,提供的角色名称。
参见MonitorModel。
信号文档
方法文档
©2019年卢芙特瑞典AB公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发表的GNU自由文档许可证第1.3版的条款提供的。Qt及其相关标志是芬兰Qt有限公司和/或其他国家/地区的商标。所有其他商标均为各自所有者的财产。