electron 使用child_process.spawn得到了错误的pid

vybvopom  于 2022-12-08  发布在  Electron
关注(0)|答案(2)|浏览(347)

我在一个电子应用程序中遇到问题,并将问题简化为在节点中运行一个简单的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);

当我运行节点testspawn.js时,D:目录,但控制台显示:Spawned child pid: 5880 .

但是Windows的任务管理器说

我想在最后杀死探险家时,我不需要它了,没有办法有正确的pid。什么是我错过的东西?。完全失去了...

wlp8pajw

wlp8pajw1#

不确定electron在做什么,但是你得到的进程实际上是你试图杀死的进程的父进程。我能够通过使用tree-kill成功地杀死“实际”进程。如果你想得到孙进程的实际pid,你可以使用类似process-tree的东西来迭代进程树。

dsekswqp

dsekswqp2#

进一步到我的最后一个评论,我没有所有的aswers,但我的情况下得到了一个变通办法...

相关问题