electron-vue进程无法杀死导致任务管理器资源飙升,电脑卡死

问题描述

electron打包的exe上线后,由于开机自启动该项目,没有关掉进程的情况下开启多个exe导致任务管理器资源升高,电脑直接卡死的现象

解决思路

 在dev-runner.js中找到了关于杀死进程的方法

1

2

3

4

5

6

7

8

9

10

if (electronProcess && electronProcess.kill) {

 manualRestart = true

 process.kill(electronProcess.pid)

 electronProcess = null

 startElectron()

 setTimeout(() => {

  manualRestart = false

 }, 5000)

}

说明 它是直接通过调用process.kill来杀死进程,然后造成这个问题,遂进行了修改,修改后代码如下,注意引入exec,然后将延时器删除,感觉整个程序的运行速度都快了不少

1

2

3

4

5

6

7

8

9

10

11

if (electronProcess && electronProcess.kill) {

 manualRestart = true

 const pid = electronProcess.pid

    const exec =  require('child_process').exec;

 exec(`TASKKILL /F /IM electron.exe`, function (err, data) {

  if (err) console.log(err)

  else console.log('kill pid: ' + pid + ' success!')

  electronProcess = null

  startElectron()

  manualRestart = false

 })

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值