Node.js 我在child_process.spawn中得到了错误的pid
我在一个Electron应用程序中遇到了问题,并将问题简化为一个简单的testspawn.js在节点中运行Node.js 我在child_process.spawn中得到了错误的pid,node.js,electron,pid,child-process,spawn,Node.js,Electron,Pid,Child Process,Spawn,我在一个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时,会显示
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
但是Windows的任务管理器说:
当我不需要资源管理器的时候,我想在最后杀死它,现在没有合适的pid。我错过了什么。完全迷路了…关于我的最后一条评论,我没有所有的答案,但我的案例有一个解决办法…你试过了吗?是的,我试过了,在五月底的测试中添加了kill,但它不好。explorer.exe有一些特别之处。我找到了一个解决方法,使用了另一种ie Explorer++,在这种情况下,我得到的pid是正确的,因此我可以在完成后终止进程。因此,我在第一种情况下得到的pid应该是进程启动资源管理器的pid。即使这一点对我来说仍然是一个谜,我结束了这个问题。既然我在评论中指出了我所做的,为什么要投反对票呢。