【发布时间】:2025-12-15 10:20:08
【问题描述】:
我在 Electron 应用程序中遇到问题,并将问题简化为在节点中运行的简单 testspawn.js
var spawn = require('child_process').spawn,
exp = spawn('explorer', ['d:'],{detached:true}); //same thing detached or not
console.log('Spawned child pid: ' + exp.pid);
当我运行 node testspawn.js 时,D: 目录中的资源管理器显示,但控制台显示:Spawned child pid: 5880。
当我不再需要探索者时,我想在最后杀死它,现在没有正确的 pid。我错过了什么? .彻底迷路了……
【问题讨论】:
-
你试过
exp.kill()吗? -
是的第一次试用我做了,在测试结束时添加了kill,但是不行。
-
explorer.exe 有一些特别之处。我找到了一种解决方法,方法是使用另一种方法,即 Explorer++,在这种情况下,我得到的 pid 是正确的,所以我可以在完成后终止进程。所以我在第一种情况下得到的 pid 应该是启动资源管理器的进程的 pid。即使这一点对我来说仍然是一个谜,我也结束了这个问题。
标签: node.js electron pid child-process spawn