我在一个电子应用程序中遇到问题,并将问题简化为在节点中运行一个简单的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。什么是我错过的东西?。完全失去了...
2条答案
按热度按时间wlp8pajw1#
不确定electron在做什么,但是你得到的进程实际上是你试图杀死的进程的父进程。我能够通过使用tree-kill成功地杀死“实际”进程。如果你想得到孙进程的实际pid,你可以使用类似process-tree的东西来迭代进程树。
dsekswqp2#
进一步到我的最后一个评论,我没有所有的aswers,但我的情况下得到了一个变通办法...