Linux的系统监控以及进程管理

<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Linux的系统监控以及进程管理</title> <link rel="stylesheet" href="https://stackedit.io/style.css" /> </head>

系列文章目录

第一章 :red hat linux系统下载安装
第二章:Linux用户和组
第三章:Linux文件管理
第四章:Linux目录管理
第五章:Linux文本编辑器
第六章:Linux文件查找与管理
第七章:Linux输入,输出的重定向以及管道
第八章:Linux包管理
第九章:Linux的系统监控以及进程管理

<hr color="#000000" size="1&quot;"> <h1><a id="_18"></a>前言</h1> <p>这次的博客的主要内容是关于系统监控以及进程的管理等操作,依旧以实验为主,老规矩,记得提前抓一张快照。</p> <hr color="#000000" size="1&quot;"> <h1><a id="_25"></a>一、系统监控</h1> <h2><a id="_26"></a>查询信息</h2> <ul> <li>内核</li> </ul> <pre><code class="prism language-bash"><span class="token function">uname</span> -r <span class="token function">uname</span> -a </code></pre> <p><img src="https://img-blog.csdnimg.cn/ae5701b45ddb4ffeb51759a410bbd665.png" alt="在这里插入图片描述"></p> <ul> <li>CPU</li> </ul> <pre><code class="prism language-bash">lscpu </code></pre> <p><img src="https://img-blog.csdnimg.cn/6bf3ae16dccb4dd18c25c2baa8f8e4d9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_16,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"></p> <ul> <li>主机名</li> </ul> <pre><code class="prism language-bash"><span class="token function">hostname</span> </code></pre> <p><img src="https://img-blog.csdnimg.cn/2b5ff930ea404a25ad121dbe89ee59dc.png" alt="在这里插入图片描述"></p> <ul> <li>资源</li> </ul> <pre><code class="prism language-bash"><span class="token function">top</span> </code></pre> <p>top命令可以查看到各个进程的运行情况依旧系统资源的分配等等,所以这里要简单说一下<br> <img src="https://img-blog.csdnimg.cn/da31573419dc441484ddc0dac8d46478.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> 上边的内容主要是系统资源的分配情况,说一些比较常用也比较简单的。<br> <strong>第二行</strong><br> 从左到右代表,总进程数,运行数量,休眠数量,停止数量,最后一个绰号僵尸进程。<br> 前边的都很简单,说一下最后一个,众所周知,每个程序运行底下都会用很多子进程来分别完成任务,如果主进程被暴力杀死,比如windows的强行终止,Linux的kill命令,可能会使它的子进程来不及停止,主进程就消失了,这些进程就叫僵尸进程,没啥用,但会占用资源。<br> 最常用的是<strong>第三行</strong>的id值,图片中有90多代表cup大部分都没有运行,现在咱们开个程序让他运行一下,看看效果。<br> 另开一个终端,运行以下命令</p> <p><img src="https://img-blog.csdnimg.cn/98bb6a0b63d045c19634ce78fa9252a4.png" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/07d3f997d3f54ba4a83b12b819c8e406.png" alt="在这里插入图片描述"><br> 可以看到这个命令运行了50秒左右,直接占了近一半的CPU,这个生产中主要用于给服务器做抗压测试,让你的CPU满载运行,看看还能不能正常完成相应的任务。<br> <strong>第四行</strong><br> 主要是展示内存信息,当初创了两个G的内存,现在空闲的的已经不多了。<br> <strong>第五行</strong><br> 所以下一行的swap交换分区就被启动了。一部分硬盘当内存使</p> <h1><a id="_69"></a>二、进程管理</h1> <pre><code class="prism language-bash"><span class="token function">ps</span> aux </code></pre> <p>ps命令必须加参数,不然没啥用<br> a:所有<br> u:用户<br> x:运行<br> <img src="https://img-blog.csdnimg.cn/5fdc72dae2ba45799870064450b8157a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> 它可以给你显示出,系统所有运行的程序,但是这么多进程,怎么看啊,这就要用到前面的grep来做到做管道,用来过滤信息,比如我要查看chaoge运行的进程</p> <pre><code class="prism language-bash"><span class="token function">ps</span> aux <span class="token operator">|</span> <span class="token function">grep</span> chaoge </code></pre> <p><img src="https://img-blog.csdnimg.cn/080f6dadfe6b40ba9038dcf5761657a8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> 这样就可以对这些进程进行过滤,进而查询到自己需要的信息</p> <h2><a id="1_88"></a>1.管理进程</h2> <pre><code class="prism language-bash"><span class="token function">kill</span> </code></pre> <p>kill直接翻译就是杀死,但他不仅仅能单纯的杀死,他也是有很多参数的<br> 可用于-l查看</p> <p><img src="https://img-blog.csdnimg.cn/6fd72026c791419a80c9db61ab089c65.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> 以管理系统自带的python为例</p> <p><img src="https://img-blog.csdnimg.cn/93fcf28ecc954cdaabe7936ebcc84f8e.png" alt="在这里插入图片描述"></p> <pre><code class="prism language-bash"><span class="token function">kill</span> -19 </code></pre> <p>停止进程,以python第一个进程1004为例<br> <img src="https://img-blog.csdnimg.cn/49056c0bad454e7dab7b09404a5ba9d9.png" alt="在这里插入图片描述"><br> 可以看到多了一个停止程序</p> <pre><code class="prism language-bash"><span class="token function">kill</span> -18 </code></pre> <p>启用程序<br> <img src="https://img-blog.csdnimg.cn/c87fbc9859744a9f8e4df7f613471d45.png" alt="在这里插入图片描述"><br> 这条命令我曾经在云端跑python爬虫的时候用过,我当时的水平还比较低,不会写增量式爬虫,代码效率比较低,几万张图片要跑近3天,就直接放在了云端,定时去下载照片,为剩下的照片留下空间,但是程序不能中断,就用这个命令暂停进程,然后把照片拿到本地,在启用程序继续跑。</p> <pre><code class="prism language-bash"><span class="token function">kill</span> -9 -15 </code></pre> <p>这是两个参数都是用来杀死进程的。<br> -9,就是之前说的直接杀死,有可能留下僵尸进程<br> -15,先杀死子进程在,最后在杀死主进程,不会有僵尸进程<br> 这个没啥特殊的,不说了,尽量用15,不行再用9</p> <h2><a id="2_123"></a>2.前后台转换</h2> <p><img src="https://img-blog.csdnimg.cn/c462fb79891c43539ad69d2464df4fe3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> 在终端直接运行火狐可以打开浏览器,但是这个时候终端就会被占用,无法继续操作,所以我们要把它转到后台去。</p> <pre><code class="prism language-bash">firefox <span class="token operator">&amp;</span> </code></pre> <p>后边加一个&amp;,可以将进程切换到后台,终端会返回一个进程号,可以通过进程号查询进程。<br> <img src="https://img-blog.csdnimg.cn/60e639cdff0145419518c49cec7427d6.png" alt="在这里插入图片描述"><br> 这是直接后台启用,那我向将前台正在运行的程序,转到后台应该怎么做呢?<br> 我在这里创建两个文件,分别叫1和2,里边各写一串数字<br> <img src="https://img-blog.csdnimg.cn/a92a2358431f4aeb915076ef1db3b8a8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_15,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/4fdc5a7d4d694be1b579130cdc6470af.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LaF5ZOlLS0=,size_20,color_FFFFFF,t_70,g_se,x_16" alt="在这里插入图片描述"><br> 这个时候,进入文件1的编辑界面使用快捷键Ctrl+Z<br> <img src="https://img-blog.csdnimg.cn/eae37721cd394764835ae4382f0ad24e.png" alt="在这里插入图片描述"><br> 他会自动将这个进程调到后台去,继续把2也也调到后台<br> <img src="https://img-blog.csdnimg.cn/1f1253045f324dc487083929e2ad8643.png" alt="在这里插入图片描述"><br> 我们可以通过fg命令将后台程序调到前台来<br> <img src="https://img-blog.csdnimg.cn/a51ee64b3ef7494b9d398a6695baa8d5.png" alt="在这里插入图片描述"><br> 就会回到编辑时的状态<br> <strong>注</strong>:fg会回到最近一次的调换前,如果我们想回到更早的线程该怎么做?<br> 先用jobs查看后台进程<br> <img src="https://img-blog.csdnimg.cn/d279246b9e2b48c6b2755c7d357f64c3.png" alt="在这里插入图片描述"><br> fg+编号即可回到相应的进程<br> <img src="https://img-blog.csdnimg.cn/27575556af4948eaa33e1b8be1d598ba.png" alt="在这里插入图片描述"><br> <img src="https://img-blog.csdnimg.cn/4a4bb29c7a824821aa5bed9df687bfe7.png" alt="在这里插入图片描述"></p> <hr color="#000000" size="1&quot;"> <h1><a id="_152"></a>总结</h1> <p>这次博客内容就到这里。</p> </div> </body>
posted @ 2021-10-08 09:09  lcc-666  阅读(122)  评论(0编辑  收藏  举报