节点立即为衍生的外部应用程序触发“关闭”(仅适用于macOS)

问题描述 投票:0回答:1

我的Electron应用程序需要打开一个外部程序,并等待其关闭后才能再次做出反应。在Windows中可以正常工作,但macOS会出现一些问题。

所以我给苹果的代码是

const cp = require('child_process');
let child;
child = cp.exec('open -a Keynote \"'+pathToFile+'\"'), function(error, stdout, stderr){
    if(error) {
        throw error;
    }
}
child.on('close', function () {
    //do something when external application is closed
}

问题是,由于某种原因,进程在启动应用程序后立即发送close事件。有什么方法可以监视Keynote是否仍在macOS中打开,还是只是一个bug?

node.js electron spawn
1个回答
0
投票

好我发现。如果有人遇到同样的问题:必须使用-W Parameter打开它。所以

cp.exec('open -a Keynote \"'+pathToFile+'\"' +' -W')

完成技巧。

© www.soinside.com 2019 - 2024. All rights reserved.