You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Node.js关闭通过child_process启动的Chrome浏览器

Node.js 关闭已启动Chrome浏览器的实现方法

Windows 平台基础实现(和你原有启动逻辑匹配)

你可以使用系统自带的taskkill命令终止所有Chrome进程,对应代码如下:

let cp = require("child_process");
console.log("Closing Chrome");
cp.execSync("taskkill /f /im chrome.exe");
console.log("Chrome closed successfully");

命令参数说明:

  • /f代表强制终止进程,避免Chrome弹窗拦截关闭操作
  • /im代表指定进程的镜像名称,chrome.exe是Chrome浏览器的进程名

跨平台兼容实现

如果需要适配macOS、Linux系统,可以通过判断运行环境执行对应终止命令:

let cp = require("child_process");
const platform = process.platform;

console.log("Closing Chrome...");
try {
    if (platform === "win32") {
        cp.execSync("taskkill /f /im chrome.exe");
    } else if (platform === "darwin") { // macOS系统
        cp.execSync('pkill -a -i "Google Chrome"');
    } else if (platform === "linux") { // Linux系统
        cp.execSync("pkill chrome");
    }
    console.log("Chrome closed successfully");
} catch (err) {
    console.log("未找到运行中的Chrome进程或关闭失败:", err.message);
}

进阶:仅关闭代码启动的Chrome实例

上述方法会关闭所有正在运行的Chrome窗口,包括用户手动打开的内容。如果需要仅关闭你代码启动的Chrome实例,建议启动时就保留进程对象,后续直接终止对应进程即可:

let cp = require("child_process");
// 启动Chrome时保留进程实例,不要用start命令,避免进程脱离控制
const chromeProcess = cp.spawn("chrome", [], { 
    detached: true,
    shell: process.platform === "win32"
});

// 需要关闭时直接调用kill方法
chromeProcess.kill();
console.log("指定Chrome实例已关闭");

注意事项

  • 全局关闭所有Chrome的操作会清空所有未保存的浏览器数据,包括未提交的表单、未完成的下载任务,谨慎使用。
  • 使用start chrome命令启动的Chrome会脱离当前Node.js进程的控制,无法单独跟踪关闭,只能通过全局进程名匹配的方式终止。

内容的提问来源于stack exchange,提问作者Ritik Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:48:00