rob*_*ing 8 windows node.js electron
我正在从电子主要开始一个后台进程(在windows上),如下所示:
app_exe = require("child_process").spawn(
"app.exe" ,
[ "--params", ... ],
{ stdio: "ignore" }
);
Run Code Online (Sandbox Code Playgroud)
但是当电子关闭时我无法杀死这个过程(.on("closed")
或on("window-all-closed")
)
我尝试了child.kill([signal])
,但也没有结果的树杀死或taskkill:只有第一个进程(示例中的6036)被杀死,第二个进程(5760)仍然是陈旧的.
exec taskkill /F /T /PID
也不杀它.
杀死的唯一方法是exec taskkill /F /IM app.exe /T
,但是这样我就无法运行电子应用程序的两个实例.
我在Windows上的流程管理中遗漏了一些明显的东西?
我遇到了完全相同的问题,论坛上的任何问题/答案都无法解决该问题。因此,经过一些研究,我找到了一个简单的解决方法并分享它:
// Workaround to close all processes / sub-processes after closing the app
electron.app.once('window-all-closed', electron.app.quit);
electron.app.once('before-quit', () => {
window.removeAllListeners('close');
});
Run Code Online (Sandbox Code Playgroud)
它非常适合我,希望它也适合你。
归档时间: |
|
查看次数: |
1917 次 |
最近记录: |