# 进程管理

> 通过特权插件的 chrovia.process.exit 请求正常退出整个浏览器实例。

Source: https://console.getchrovia.com/zh/docs/sdk-process-management

**能力：**`processManagement`。**API：**`chrovia.process.exit()`。不需要 EP 开关，通常从 Provision Service Worker 调用。

## 根据明确命令退出

```js
function exitBrowser() {
  const processApi = globalThis.chrovia?.process;
  if (!processApi) {
    throw new Error('processManagement is required');
  }
  processApi.exit();
}
```

将函数接到插件自己的、经过验证的命令处理器上。示例刻意不在 Worker 加载时自动调用。popup 应向 Worker 发送具体命令，而不是直接访问 API。

`exit()` 返回 `undefined`，不是 Promise 或退出码。它请求 Chromium 正常退出流程，不会同步终止进程，也不保证进程消失的准确时刻。退出前完成必要应用工作；需要确认实际终止时，由外部启动器观察。

## 范围

退出影响整个浏览器实例及其窗口，不只是一个标签页或插件。API 没有启动其他进程、指定退出码或结束无关进程的方法。

需要在启动器退出或 presence 文件消失时自动关闭浏览器，应使用独立的 [supervisorProcess 能力](https://console.getchrovia.com/zh/docs/sdk-supervisor-process)。授予 `processManagement` 不会启动监督监视器，监督方结束时的自动退出也不需要调用此 JS 方法。

## 验证

在可丢弃且没有未保存工作的实例中测试。域缺失时检查 License 和 Service Worker 上下文。页面调用还需要 `unrestrictedApi`，它扩大开放范围，不只是开放一个退出按钮，建议优先使用插件消息路径。
