【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

相关文章

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)