为什么 iTerm2 的耗电会这么大?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/supertian007/article/details/79614739

今天下午用 iTerm2 + vim 写 C++,我的笔记本没插电源,竟然只用了三个小时,电量就从 100% 掉到了只剩 10%。

我一直想不明白是为什么,因为我一直都是把 iTerm2 当文本编辑器在用,顶多编译调试的时候耗电一点,但应该不至于这么夸张。

不知道是 vim 耗电,还是 iTerm2 耗电,或者是显示器一直亮着导致耗电很快。

我在网上搜了很多,谷歌也看了,Stack Overflow 也看了,都没有找到解决办法。

我甚至准备用 sublime 来替换 iTerm2 写代码了。

然而,刚刚无意中,我打开了活动监视器,发现 CPU 的使用量特别高。

我按 CPU 使用率 排序,忽然发现,有七八个进程的名字都是 a.out,而且占用都在 60% 以上。

这时候我才意识到,是我用 lldb 调试代码以后,如果进入死循环,即使把终端窗口关了,但程序还一直在运行。再调试一遍,又进入循环,又是一个进程。

这些进程一直运行,导致耗电飞快。

怎么解决呢?如果进活动监视器,发现一个,杀掉一个。很麻烦。因为可能会出现四五个 a.out

这时候就可以用 pkill 命令。用进程的名字查找并杀掉进程。

具体做法是:

第一步:在终端输入 pkill -9 a.out。注意,这里的 a.out 是可以输入 a. 然后按 tab 就可以自动弹出来的,因为 pkill 会找到正在运行的进程的名字。

第二步:cmd+n,打开一个新终端,免得工作路径丢了,还要重新进一遍。

第三步:把原来的终端关了。虽然我不知道终端窗口和进程有什么关系,我我试验的结果是,如果不关窗口,进程会一直显示在活动监视器里,而关了以后,进程就会消失。

现在,如果再输入 pkill -9 a.out,输入到 a. 的时候,再按 tab 键是不会补全的,说明已经这个进程已经不再运行了。

猜你喜欢

转载自blog.csdn.net/supertian007/article/details/79614739