我们学了这么多课,一直都是学习在terminal上如何用Linux的命令去操作计算机,因为在服务器上一般是不会去安装GUI(图形用户界面)界面的,一般都是用shell去操作的。这是为什么呢?

小伙伴们可能在想,Linux中既然也有图形化界面,那为什么还要学习在terminal这种命令行式的界面中使用命令去操作呢?Linux命令又是那么的多,学的累死了,干嘛干这种费力的事情呢?

实际上,既然行业正规的互联网公司内服务器的运维都是用shell命令行,那就说明这样做肯定是有它的道理的。

我们在这里先验证一下。

我们刚进入我们的centOS系统的时候,是如下图的图形化界面:


我们在这个图形化界面上操作,点击Applications-Firefox,打开火狐浏览器之后,默认如下图:


然后我们按Ctrl+Alt+F2,打开terminal,打开之后输入自己的账号密码,然后输入top回车,


由于刚才我们在图形界面中打开了Firefox(火狐浏览器),现在我们在terminal中使用top命令查看系统进程状态时,看到%CPU(CPU占用百分比)和%MEM(内存占用百分比)这两个栏目,又在最右侧COMMAND这个栏目中看到,firefox和Web Content这两个命令行的进程,它们所占用的CPU和内存的百分比最大,我们看到Firefox占了内存的10.7%,Web Content占了内存的7.8%。

这个现象说明了什么呢?因为Firefox和Web Content都是图形界面程序的进程,所以我们看到它们两个占CPU和内存的比例最大,而其他的进程都是命令行中的进程。这就说明了图形化界面是非常消耗资源,非常占CPU和内存的。

有些小伙伴把自己的电脑的界面弄得非常炫酷,实际上,在服务器这样的生产环境中,都是越简单越好,所以操作服务器一般都是用shell这种黑白的简单的命名行界面,看起来好原始,好丑陋,但服务器不是用来玩的,如果弄那么炫酷拉风的图形化展示的界面,就是特别浪费服务器的高性能。服务器的高性能,你至少是用它来挖矿(前面区块链简介那一节,讲了什么是挖矿,不知道的可以去看看),或者是做爬虫、高性能计算之类的应用,是不是?

那么我们如何去关闭掉特别占CPU和内存的进程呢?

每一个进程都有一个唯一且固定不变的id,即PID。比如说我们刚刚打开的图形化界面程序Firefox,它的PID是3936,如下图所示:


现在我们要把Firefox这个进程关掉,怎么做呢?

我们只需要按下k,按下k之后,如下图:


我们看到出现了一行文字:"PID to signal /kill [default pid = 4235]",default pid就是默认的最占资源的PID,我的系统中目前是4235,可能你的系统中不一定是这个数字。

在键盘上按下k之后,我们接着在"PID to signal /kill [default pid = 4235]"这行文字的后面输入想要kill掉的进程的PID,我这里输入3936,


然后回车,会出现一行文字:"send pid 3936 signal...",然后回车,就把Firefox这个进程杀掉了。在进程中就找不到Firefox了,如果按Ctrl+Alt+F1回到系统的图形界面,就会看到刚才打开的Firefox浏览器也被关闭了。

以上就是如何kill掉占资源的进程。