该 API 还是实验性的,仅对 dev 分支的 Chrome 用户可用。

chrome.processes

描述 使用 chrome.processes API 与浏览器进程交互。
可用版本 仅用于 Dev 分支。了解更多内容
权限 "processes"

摘要

类型
Process
Cache
方法
terminate chrome.processes.terminate(integer processId, function callback)
getProcessIdForTab chrome.processes.getProcessIdForTab(integer tabId, function callback)
getProcessInfo chrome.processes.getProcessInfo(integer or array of integer processIds, boolean includeMemory, function callback)
事件
onUpdated
onUpdatedWithMemory
onCreated
onUnresponsive
onExited

类型

Process

包含有关浏览器进程信息的对象。
属性
integer id

由浏览器提供的进程唯一标志符。

integer osProcessId

由操作系统提供的进程标志符。

string title

进程标题,与任务管理器中一致。

enum of "browser", "renderer", "extension", "notification", "plugin", "worker", "nacl", "utility", "gpu", or "other" type

进程类型。

string profile

与进程相关联的用户配置文件。

integer naclDebugPort

Native Client 进程的调试端口,如果是其他进程类型或者是没有启用调试的 NaCl 进程则为零。

array of integer tabs

包含标签页标志符的数组,这些标签页中包含由当前进程渲染的页面。该列表只有对于渲染进程才会为非空。

double (可选)
cpu

最近统计的进程CPU占用率,在 0 和 100% 之间,只有在 onUpdated 或 onUpdatedWithMemory 的回调函数中接收该对象时可用。

double (可选)
network

最近统计的进程网络使用情况,以每秒多少字节为单位,只有在 onUpdated 或 onUpdatedWithMemory 的回调函数中接收该对象时可用。

double (可选)
privateMemory

最近统计的进程私有内存使用情况,以字节为单位,只有在 onUpdatedWithMemory 或包含 includeMemory 标志调用 getProcessInfo 时的回调函数中接收该对象时中才可用。

double (可选)
jsMemoryAllocated

最近统计的进程 JavaScript 分配的内存,以字节为单位,只有在 onUpdatedWithMemory 或包含 includeMemory 标志调用 getProcessInfo 时的回调函数中接收该对象时中才可用。

double (可选)
jsMemoryUsed

最近统计的进程 JavaScript 使用的内存,以字节为单位,只有在 onUpdatedWithMemory 或包含 includeMemory 标志调用 getProcessInfo 时的回调函数中接收该对象时中才可用。

double (可选)
sqliteMemory

最近统计的进程 SQLite 的内存使用情况,以字节为单位,只有在 onUpdatedWithMemory 或包含 includeMemory 标志调用 getProcessInfo 时的回调函数中接收该对象时中才可用。

Cache (可选)
imageCache

有关进程图片缓存的最新信息,只有在 onUpdated 或 onUpdatedWithMemory 的回调函数中接收该对象时才可用。

Cache (可选)
scriptCache

有关进程脚本缓存的最新信息,只有在 onUpdated 或 onUpdatedWithMemory 的回调函数中接收该对象时才可用。

Cache (可选)
cssCache

有关进程 CSS 缓存的最新信息,只有在 onUpdated 或 onUpdatedWithMemory 的回调函数中接收该对象时才可用。

Cache

Cache 对象包含浏览器使用的缓存的大小和使用情况。
属性
double size

缓存大小,以字节为单位。

double liveSize

正在使用的缓存大小,以字节为单位。

方法

terminate

chrome.processes.terminate(integer processId, function callback)

终止指定的渲染器进程,与访问 about:crash 等价,但不会更改标签页的 URL。

参数
integer processId

要终止的进程的标志符。

function (可选)
callback

如果您指定了 callback 参数,它应该是一个如下形式的函数:

function(boolean didTerminate) {...};
boolean didTerminate

如果进程成功终止则为 true,否则为 false。

getProcessIdForTab

chrome.processes.getProcessIdForTab(integer tabId, function callback)

返回指定标签页的渲染器进程标志符。

参数
integer tabId

要获取渲染器进程标志符的标签页标志符。

function callback

callback 参数应该是一个如下形式的函数:

function(integer processId) {...};
integer processId

标签页的渲染器进程标志符。

getProcessInfo

chrome.processes.getProcessInfo(integer or array of integer processIds, boolean includeMemory, function callback)

获取指定进程标志符的进程信息。

参数
integer or array of integer processIds

要获取进程信息的进程标志符或进程标志符列表,空的列表表示需要获取所有进程的信息。

boolean includeMemory

如果需要获取详细的内存使用情况则为 true。注意:收集内存使用信息需要占用额外的 CPU 资源,只有在需要时才应该查询。

function callback

收集完进程信息后调用。

callback 参数应该是一个如下形式的函数:

function(object processes) {...};
object processes

以进程标志符为索引,包含请求的进程对象的词典,对应于当前浏览器进程的活动子进程。需要通过一段时间的数据统计得到的指标不会包含在进程对象中。

事件

onUpdated

每当任务管理器更新进程统计信息时产生,提供以进程标志符为索引,包含已更新进程对象的词典。

addListener

chrome.processes.onUpdated.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(object processes) {...};
object processes

以进程标志符为索引,包含浏览器中每一个活动进程已更新进程对象的词典,需要通过一段时间的数据统计得到的指标也会包含在进程对象中。

onUpdatedWithMemory

当任务管理器更新进程统计信息时产生,提供以进程标志符为索引,包含已更新进程对象的词典。与 onUpdate 相同,但是每一个进程对象中包含附加的内存使用情况的详情。注意:收集内存使用信息需要占用额外的 CPU 资源,只有当需要时才应该监听该事件。

addListener

chrome.processes.onUpdatedWithMemory.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(object processes) {...};
object processes

以进程标志符为索引,包含浏览器中每一个活动进程已更新进程对象的词典。内存使用情况的详情也会包含在每一个进程对象中。

onCreated

每当进程创建时产生,提供相应的进程对象。

addListener

chrome.processes.onCreated.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( Process process) {...};
Process process

有关已创建进程的详情,需要通过一段时间的数据统计得到的指标不会包含在进程对象中。

onUnresponsive

每当有进程失去响应时产生,提供对应的进程对象。

addListener

chrome.processes.onUnresponsive.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function( Process process) {...};
Process process

未响应进程的详情,需要通过一段时间的数据统计得到的指标不会包含在进程对象中。仅用于渲染器进程。

onExited

每当进程终止时产生,提供退出类型。

addListener

chrome.processes.onExited.addListener(function callback)
参数
function callback

callback 参数应该是一个如下形式的函数:

function(integer processId, integer exitType, integer exitCode) {...};
integer processId

已退出进程的标志符。

integer exitType

该进程退出的类型——正常、不正常、被终止、崩溃,仅对于渲染器进程可用。

integer exitCode

如果进程不正常退出,则包含退出代码,仅对于渲染器进程可用。

示例扩展程序

  • Process Monitor – Adds a browser action that monitors resource usage of all browser processes.
  • Show Tabs in Process – Adds a browser action showing which tabs share the current tab's process.