【electron-vue】进程无法杀死导致任务管理器资源飙升,电脑卡死的情况(改良版)

本文主要是介绍【electron-vue】进程无法杀死导致任务管理器资源飙升,电脑卡死的情况(改良版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前景:同一个electron-vue项目,别人的电脑不会,而我编辑代码ctrl+s几下,后台8、9个进程,CPU 100%。

解决:(不想知道过程的,直接拉到最后,看最终修改的代码)

1、参考【Electron-Vue 】进程无法杀死导致任务管理器资源飙升,电脑卡死的情况。

作为elctron-vue菜鸟,配置一窍不通,好不容易搜到这个文章,复制拷贝,运行ctrl+s报错。

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

ReferenceError: exec is not defined
    at Watching.compiler.watch [as handler] (E:\electronTest\loginnew\.electron-vue\dev-runner.js:103:9)
    at compiler.hooks.done.callAsync (E:\electronTest\loginnew\node_modules\webpack\lib\Watching.js:99:9)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (E:\electronTest\loginnew\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Watching._done (E:\electronTest\loginnew\node_modules\webpack\lib\Watching.js:98:28)
    at compiler.emitRecords.err (E:\electronTest\loginnew\node_modules\webpack\lib\Watching.js:73:19)
    at Compiler.emitRecords (E:\electronTest\loginnew\node_modules\webpack\lib\Compiler.js:499:39)
    at compiler.emitAssets.err (E:\electronTest\loginnew\node_modules\webpack\lib\Watching.js:54:20)
    at hooks.afterEmit.callAsync.err (E:\electronTest\loginnew\node_modules\webpack\lib\Compiler.js:485:14)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (E:\electronTest\loginnew\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at asyncLib.forEachLimit.err (E:\electronTest\loginnew\node_modules\webpack\lib\Compiler.js:482:27)
    at E:\electronTest\loginnew\node_modules\neo-async\async.js:2818:7
    at done (E:\electronTest\loginnew\node_modules\neo-async\async.js:3522:9)

 

2、一看这报错不就是我刚拷贝上的代码么。

参考:nodeJS exec does not work for “cd ” shell cmd

原作者的文章里少了:

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

 

3、但是!运行,ctrl+s,终端只有一句 kill pid: 27792 success! 

我要的效果是:运行,ctrl+s,干掉多余的进程,重新运行。对比代码修改,发现最初的代码有个延时

setTimeout(() => {manualRestart = false}, 5000)

 

4、dev-runner.js 修改代码

if (electronProcess && electronProcess.kill) {manualRestart = trueconst pid = electronProcess.pidvar 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 = nullstartElectron()setTimeout(() => {manualRestart = false}, 5000)})}

这篇关于【electron-vue】进程无法杀死导致任务管理器资源飙升,电脑卡死的情况(改良版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/522855

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

在Golang中实现定时任务的几种高效方法

《在Golang中实现定时任务的几种高效方法》本文将详细介绍在Golang中实现定时任务的几种高效方法,包括time包中的Ticker和Timer、第三方库cron的使用,以及基于channel和go... 目录背景介绍目的和范围预期读者文档结构概述术语表核心概念与联系故事引入核心概念解释核心概念之间的关系

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h