00:00
那我们今天继续来学习这个系统性能相关的各种工具,嗯,我们上次呢讲了不少工具啊,还有几个工具也是非常好用的,我们来给大家说一说。嗯,那咱们这边呢,有一个非常很好用的工具,叫这个工具呢啊,它可以实现远程的监控主机的各项性能指标啊,我坐在我的机上也可以远程的连接到别的主机上来看他的各种CPU,内存,硬盘,网络都可以看这lax,不过这个Galaxy啊,S8上面现在还没有,呃,提供好像是提供了啊,后来是测了一下,但是有测试有问题,就用的时候可能有问题,那我们今天来试试吧,估计还是有问题试。
01:09
好,那我们来装一下。这个呢,需要在多个主机上进行安装,因为他要跨网络通讯,所以两个机器要想实现看对方的性能指标啊,都需要去安装。安装之后,那我们通过选项把它一个配置为服务器,一个配置为客户端。服务器呢?我们需要开启一个监听端口。那这个端口。可以通过杠S。来指定。他在监听。那监听的时候,它会默认的监听一个端口,如果你不想用它的默认端口,这个地方也可以指定啊,比方说我就默认了,我就不改了。
02:08
那我们然后杠S。他就启用服务器卷启用了啊,大家看默认是61209啊,当然这个地方呢,我们看一下它这是不是已经打开了61209。啊。这是它默认的。这个端口呢。端口默认对这个61209TCP。好,那当然客户端也是拿来进行远程连接,连接过来看服务器端的性能指标,那么客户端也是用Y,然后C就是指定后端服务器的地址。
03:04
所以我需要在另一端来打开杠,C是利用服务器端,比方说服务器端是啊。那看来还是有点儿问题,你看。连不上去,所以这个算是一个bug吧,啊,连不上去正常应该连上去才对,但是连不上去连不上去,那我们就在七上来给大家说一说吧,嗯。好,现在我这儿正好也有两个系统。方法是一样的啊。好,那我现在第一个机器上线,把这个给它装上。啊,这边所以监听的话呢,要用一个版本啊,你不要一个机器和另一个机器,比方说一个是SO671个SOLO8,它版本不一样,互相之间也是有问题的。
04:12
好,我现在又开了一个17的主机。啊,我在试器上也把这个软件给它装上。不兼容是吧,啊,就两个版本不同的话不兼容啊。好,然后呢,我们现在看一下杠S,就是开启服务器。61209,然后这边充当客户端杠c10.0.0.7,那么默认连上去,它就会打开七这个机器的各项性能指标,大家看回撤。
05:00
看到了吧,对,这个是七的啊,不是我的,不是我17的。那大家可以看到这上面有CPU,有内存,各方面都能看,所以这样的话呢,如果你将来想了解有一个机器的各项性能指标,你不用去SSH到对方的机上,对吧,只要执行这个命令就可以了啊,这个还是挺方便的,挺方便的啊,你看这儿还有硬盘啊。分区的使用情况都有,Q是退出,Q是退出,当然这边我这个八这边开着呢啊,我这个八这边我把这个给他开开。它是服务器端。服务器端,然后呢,客户端这边我能不能连这个发这个机器,因为它版本不一样,你看这个提示了。是吧,不同版本之间你要直接这么连,是有不充就是不兼容的,它是明确告诉你不兼容。
06:06
啊。我把这个我复制到咱们的笔记里。好,就会出现这样的提示。好,那接下来呢,咱们来说一个。
07:03
也是用的非常啊多的一个工具叫l of l of呢,它可以列出当前。正在使用的文件。那在另中一切接文件,我们在Windows里估计大家也见过一种现象,就是如果一个文件正在使用的话,咱们是没法把它删掉的,它会提醒你说此文件正在使使用。那么在L在Linux中。有的时候也会出现类似的提示。那么我们怎么知道?具体谁在使用这些文件,谁在使用这些资源,那用l of LF就是打开,看到那些正在打开的文件。那这有很多选项,那比方说我想查看有登录用户启动,而非系统用户启动进程,也就是说我们可以针对某一个终端,那我看这个终端上有哪些进程啊,比方说我现在就看一下我当前的这个机器。
08:19
啊,这个机器呢,我们看看它的终端PP0L of啊,我可以看,诶,这就是目前此终端上运行的进程啊。他列出了这些。啊,另外呢,他可以指定进程编号,我想知道这个进程打出来哪些文件啊,啊可以查看进程编号后面跟上啊,比方说我现在想知道这个进程1163,那1163他打开了哪些。
09:02
文件。啊,这就是他打开的文件。啊。啊,列出的非常多。啊,这个你要说这个是显示BC计算器运行的时候打开了哪些。啊,另外也可以打指定说程序正在打开的文件,就是你用C指定程序,那事实上默认情况下,你在这用l of。那你就可以列出目前所有进程正在打开的文件。啊。你看打开的时候,这是命令进程,包括它的用户。等等这些。
10:04
啊,前几个,那默认情况下,Is,它就会列出所有系统默认打开的文件。列出所有。打开的。好,这是显示效果啊。啊,其他的例子我就不再演示了,有些我们曾经给大家说过啊,比方说我想查看某个端口谁在使用。那这个杠癌是我们曾经给大家强调过的。啊,面试经常问我想知道哪个端口谁在使用。
11:05
I22端口。啊,这些列车。这面试题经常问。那这边LS有一个小的功能。这个功能,它可以利用l of把误删除的文件找回来。当然,前提这个文件没有被关闭。在我们目前来讲。有一些文件,比方说LS,你像这些都是系统的日志文件,这个日志文件。日志文件目前是被咱们的应用程序所使用。啊,所以我们可以看到,目前来讲呢,用这个可以查到谁在使用这个文件。
12:06
谁在使用密文是?查看当前。哪个进程。正在。使用文件。那所以我们现在就可以看到当前的这个文件是有一个叫r log d的这个文件程序在使用。嗯,所以在Windows里。你能不能看到,比方说你删一个文件,突然发现这个文件被使用。他不让你删。那你怎么弄啊,你想把他删了怎么弄啊。你你你得找到那个程序吧,你不找那个程序把它关了,他真的不让你删,那问题你怎么找到那个程序啊,任务管任务管理器那问题题任务管理器那么多列表,那你咋知道谁呀,挨个删啊任务任务管理器咔一打开,这家伙这么多,你咋知道是谁啊啊。
13:18
那,那试试吧。不过Windows里有第三方软件啊,第三方软件可以列出来,我曾经有个装过一个软件,他会告诉你说哪个程序在使。你看的系统自带命令就搞定了。那这个文件呢,正在使用,我们看到它是由r log d来使用的,好了,那有了这个。假设这个文件。嗯,被删了啊,然后这样吧,我把它移走吧,移走不也就相当于删了吗,是吧。那这个文件确实没了。
14:05
没了。行了,那就想假装删了,那怎么恢复它呀,对吧。诶,恢复的话用这个就可以了,LS。Of。哎,在这呢,实际上你可以打开所有,同时这里面只要打开的文件都有,不过呢太多了,所以我们这加一个不音字叫这个表示的就是正在打开但已经被删除的文件,大家找到了那个method文件了吗?看是不是同时这是不是显示了谁正在使用,被把这个文件删了,谁在用它915看到没?就是这个进程吗?然后找到对应的915进程的通路。
15:06
这里面有一个FDFD还记得什么东西吗?文件描述符,大家看它是不是确实也显示了他正在打开被删掉的log message。它的文件描述是几啊五好,那就把五找出来直接输出,诶大家看,既然输出结果了,我知道接下来你应该知道怎么样了,是不是,哎,把它再回去,然后我先不回去啊,我就写到这吧,换个名啊,你看这时候这个文件和咱们被移走的那个叫呃,贝塔下的。Message看见没一样吧,找回来了吗?啊,对不对,那无非现在你就把它移到原处里边吗?啊,当然前提,这是有前提,什么前提,我对这个文件删的时候有程序在用,结果这个程序别关啊,如果这个程序关了,那你那个MSO就看不到它了,知道吧。
16:30
看不到它了,那就不好恢复了,也不能说完全不能恢复,那你可能得找一些其他的软件来恢复了啊,所以这个它是不需要特别费劲就可以轻松恢复,明白了吗?当然希望你们还是不要删哈,嗯。这个。不删除数据库的人不是一个合格的运维方程式,对吧,删为一个场景好,当然我们这边还有很多管理工具啊,有些工具呢,做的还是很花哨的,那我们这给大家介绍一个叫web命令,这个web命呢,它是一个提供了web界面的边鼠标咱们就可以来查看。
17:31
管理了挺方便,那当然你要自己有本事,你也可以自己开发啊,这不这个是现成的嘛,拿过来用多好啊,那这个软件呢,是第三方的啊,叫VI文,你去这个站点可以把它下载下来。哎,我就不打开了啊,我直接把它下来。这是一个RP包,那我们把它下载下来。呀。刚才出错了。
18:01
还行,正在尝试。哎呀,下不下来了。你看这网站不行了。试了好几回了,都。试了七次了,那就去他的官网看吧。官网。这个这是他的官网,我刚才下的地方,实际上也是官网得到的地址啊。啊,这个就是他的官方站点。啊,这目前是1.955。啊,Download下载。
19:05
下不下来啊。没有。怎么承?啊,打开了,这这告诉我们一个,这是这问题,这是源码啊。这有这有一个deb的这个,这个有这有把这个下来。R包的小事再试一次啊,这个是版本升级了,人家是吧啊,我原来这个是一点升级了,怪不得我连不上去了。好,那我就更新一下文档啊,文档赶紧更新一下是吧,下次上课又更新,还得这文章老得更新。
20:04
我知道方法就行了啊,这个并不关键。那事实上我们也可以不用非得下载下来,你直接用亚安装也是可以的,直接在线安装大家都知道是可以的。好。那我们来试一试啊,诶下完了,下完以后呢,亚板安装。看看啊,Web密安装。哎,幸好还没有什么依赖关系啊啊,有一个依赖关系。依赖一个破是吧。啊,这些工具啊,对于小企业还是非常实用的。
21:02
当然大公司的话,可能他有自研的一些运维平台。啊,但是并不是每家公司都有这么强劲的实力的,所以这些工具啊,你们将来上了班,万一到小公司了,你可以拿过来现成挺方便,好,那这个软件呢,我们也经能装好了,看一下它里面包含的,诶,大家看一大堆文件,文件还真不少,看一大堆,那其中呢,我们在这看到有一个叫web命的一类的D,这实际上就是个脚本。那这个脚本呢,我们用这个命令看到它出现了,这是一个服务,所以我们用service啊,Web me start把它启动起来,启动起来以后呢,我们看一下监听端口,诶好像这多了一个端口。啊,多了一个1万的端口吧,你看这不有命server吗?他用per实现,用per语言写的。
22:03
啊,当然我们接下来呢,就可以打开。1万。要写HTTPS。好点,高级走。可以登录了。默认是啥呀,用户名是啥呀。Root啊,就是我的管理员密码,就是我当前root的密码。输入我的正确的用户密码。看见没,上去了看。这时候你点进去,这有很多很多功能啊,还有可以备份,还可以改语言,诶改改语言嘛,这个这个能不能调成中文呢。
23:06
这儿可以改风格。这是全部的语言啊。各有各有远。中文简体是吧。好,可以改一下。诶,看舒服了吧,好了啊,哎,这怎么还有乱码啊,这个啊,这个语言他正在改,还得还得稍微等一下下,哎,这回好了,行了,后面我就不说了啊,因为这个同一界面点点点你们比我擅长是吧?这是不是看起来非常直观呀,磁盘呀,网络呀,反正你都能看,哎,挺好,而且是还可以配置的啊,这里面它并不是光查看,它实际上是可以进行管理的,那网络这块可以直接来配置,这都是可以配的,是不是很不错的一个小管理工具啊。
24:09
现成的你也不用做开发了,对吧,不过呢,这个工具啊,说实在的在八上。可以换一个了,因为圣八本身就带一个工具叫cook,圣七六上没有这工具,圣八上增加的这个工具呢,就跟这个刚才一样,外部界面,不过应该没有这个功能那么强啊,但是也能做一些简单的管理。他可以做以下这些事啊,比方说查看你的状态呀,啊,这个这个查看账号啊服务啊都可以,那他在四八上,如果你是通行安装默认的有,不过呢,因为我现在最想安装,所以这个工具呢,我们需要去单独装,那么就装一下。
25:01
那这两个要打架?看看他用的端口不冲突的话就没事儿。好,然后呢,把这个服务给它启动起来,那端口呢,它用的是9090,所以跟刚才那个还不打架。看看端口起来没9090,刚才那个是1万,这个是9090,哎俩还不打架不打架,那我们在一个机器上,我们就可以再开一个了啊八的9090。走。诶,又来了点高级,继续看看这森透自带的啊,原版的是原装的,拿入的账号对应的口令登录一下用密码不对吗。
26:03
密码不就是我这个原来的密码吗。恩,怎么还登不上去呢啊?把大姐键给开开了是不是,哎,好了上去了啊好上去了啊,这样这也能做吗。家里有个服务失败咋回事儿?网络看看哎,网络这个吞吐量,那这个比方说我们构建一个稍微大一点的吞吐量啊,来个P吧,杠F-S65来个构建一个大包,看看他能不能。卡住了,卡住了是不是我这个攻击自己就流量太大了。
27:07
这这回好了吗?这看我这已经上来了,流量上来了,哎这上面的账号,哎这位这这都是以前创建的是吧,这上之前做实验建的啊建的账号还在。那你看这个是挺好用的啊,大家可以直接敲命令,看见没这个终端直接在这就以网页方式直接敲了,这个带来的好处是不是就不用非得用SS远程连,就web界面就可以连上去了,直接可敲命令了啊,所以这个还是不错的一个自带工具啊,但是这个不用去研发。
28:05
管理界面的外部方式了,系统自带的挺好,好,那这是咱们给大家讲的这些工具。那接下来呢,咱们来看一下信号发送,关于信号啊,在前面我们讲那个脚本讲过一个信号捕捉。啊,Trap信号捕捉曾经也提到过,咱们Linux中自带了好多信号,这个信号呢,我们可以用Q和trap这两个命令都可以观察到。信号非常多,哎,你看这个动作信号Q命令呢,也能够看到信号一样。那上次咱们给大家说过,信号有三种表示方法。
29:00
数字法全称法,简称法是吧,简称法。那这些信号呢,我们挑一些比较常用的信号来说。第一个信号叫信号,这是第一个信号。第一个信号呢。它的作用是要来让程序重新加载它的配置文件。啊,用什么来发信号呢?用Q来发,Q这个命令它是可以发信号的,Q本身是个内部命令,那么Q命令。可以向当前的某个进程来发送。信号。那发送信号的时候,这个信号的名称,刚才说三种格式都可以Q命令,不要理解成是杀的。
30:05
虽然他命确实这个单词是杀死的意思,但是并不一定他一定是杀人的,也可以是救人的。那help呢?它的作用就是让咱们的某个进程在无需重启的情况下。重新加载配置文件。我们都知道,虽然我们现在还没有开始学大量的服务。但是大家至少应该有一个印象,就是我们改了什么什么配置文件,要让生效,是不是还得有,一般都要配合一个什么重启服务啊,类似的命令,对吧?你像咱们网卡文件改了,是不是还得什么加载文件,总之得配合一个命令让它生效啊,在后面我们学服务的时候,你会发现改了配置文件通常都要重启服务。但这个重启服务呢,可能会带来一个问题,就是它会带来进程的关闭和重新生成。那你想这时候就会产生一个不好的现象,人家有用户正在访问你,你把人家的进程给杀了,那这个正在访问的用户是不是就他就相当于断了,哎。
31:13
所以比较好的方法呢,就是不要关闭进程的情况下让配置生效,这样的话不会影响目前正在连接的用户,那怎么做?就可以用HUB这种方式来发信号啊,我举个例子,那现在比方说我希望在这个地方来存放网页,我把这个页面呢,给它放到这来。呃,是hello m42,然后我做一个页面放在这个位置,那不放在这儿,放在这儿啊,我做一个新的网页,新的页面放在这个位置,当然你放在这儿。
32:08
人家。并不知道你的网页是放在这个地方的,默认咱们系统中有没有HTBB有,但是这个HTB它认为这才是Y3WH内目录才是存放网页的位置,这才是它真正存放网页的位置。那比方说我们现在呢,就给他写一个这样的文件。好,这样说完以后呢,我们看一下。当然我是看一下我这个端口服务打开没打开,八零端口有没有开。没开没开的话,把它启动起来啊,起来了,起来以后呢,看八零开了,八零开了,那就意味着我们现在呢就可以访问这个网站了,因为八零端口是默认端口,所以我们就不用写后面的数字了,刚才我们写1万也好,写9090,因为它是默认非标准端口,所以必须要写端口号。
33:13
啊,我们浏览器默认他知道这是八零端口,所以这个八零端口我们是可以省略不写的,就可以不用写了,飞车大家看看到的页面,它默认是从Y3WHW2这个目录里找,而不会去从我们自己想希望的那个目录找,要想从那个目录里找网页,那你得改配置了,那改配置怎么改呢?改配置这么来改。ETCHTTP把这个配置文件打开,那大家先知道我在做什么就行,你不用去问注我这个具体改什么文件,这个服务我们后面会详细讲,我只是给大家演示一个信号的功能啊好,那么在这个地方呢,我们找到那个哇,那目录,它默认是把网页放在这个目录下的,那现在我就把它改了,改成什么呢?把它改成这个,看这这有一行。
34:13
哎,我把它复制一下,把它注释掉,替换成我们现在希望实现的data塔下的这然后呢,下面呢,这也有这个把它也替换了。啊,把它注释掉,然后把它改成咱们现在希望的目录,改了两个地方啊,点两个地方以后,我们以前要让服务生效,我们需要重新启动进程,那么重新启动进程就会导致咱们的HTP的进程,它会发生进程编号的变化。就是目前来讲呢,我们现在不是有一个HTTP的进程吗?就这个这个进程,我们可以看一下它的进程编号啊,大家看它有不少有8085,包括以下的这些,那如果我把服务重新启动,确实是可以让它生效的。
35:19
但是你这个重启,你看一下这些。进程的进程编号是不是就新新变成新的了,那就相当于你杀死人家又开启了新的进程。那当然大家就马上明白,那如果用户要访问,正在访问,啪,你这不就关了人家了吗,对吧啊。啊,当然现在应该也改过来了,那我们来试一下刷新一下啊,成了吧,啊但这种方式我们说不是特别好啊,这个给用户的感受不好。人家正在想购物呢,对吧,想买一个这个啊豪车的在网上劳斯莱斯是吧,是不是咱班里头有大佬是吧,想我看那天在手机上看劳斯莱斯,你想买一辆啊,买一辆我也想买,我看了好久了已经,哎呀。
36:29
我就看他那个轱辘挺好,哎,这个你没注意到那个劳斯莱斯,他那个车这个车标,那个轱辘上有个车标,但是那个车它永远是正着方向,那叫宾利是吧,还是宾利还是老叫R,它是老,他怎么再怎么转,它是个它是正,它不会倒过来的,也可以改一下是吧,哎呀,我这个不行啊,买得起房买不起车呀。
37:04
那当然我现在还是把它回回归过来啊,回归过来然我把这个配置再改回来啊,那改回来那这个呢,我们就不要了,那这回不过改回来我可不用原来的重新启动服务的方法了啊,那咱们用什么呢?给他发信号啊,发信号怎么发呢?刚才我们看到了它这边有一个我们就过滤一下就好了,实际上就看一下最上面那个负进程啊,一定要看它那个最上面的附进程啊,AUXF啊,我们就看一下HTDP,你看这个所有的子进程都是这个进程的子子进程叫8412对吧,你看这HTP都是它的子进程嘛,发412,那我就给这个附进程发信号就好了,发什么信号呢?发一信号。
38:01
一信号就是我刚才说的那个哈信号。我们说了数字法也行,全称法简称法都行啊,数字都当然最省事了,所以我们就写的。一就好了,那发信号的时候呢,这个命令刚才我们也看到它的语法了啊,直接在这儿可以写这个N,通过这个N呢,可以省略。你直接杠一就行啊,所以呢,有的时候你经常会看到很多人都是直接写个数字,事实上正常的写法应该是这个写法,这这才是正常写法。啊,不过一般就是大部分都已成习惯了,这这就完事了啊。那实际上这个命令呢,跟我们之前讲那个nice相似,Nice它也是可以直接这么写啊,好,那么我们就给他发刚才那个进程编号是9412是吧,884128412。哎,发一信号发完了,发完以后呢,你看它这个进程的编号8412没有变吗?没有变,但是呢,功能时生效了吗?那我们刷一下看看怎么样生效了吧,这样的话是不是我们在不影响用户使用的情况下,就让它生效了。
39:15
对吧?这不更好吗?如果能实现,尽可能用这个,但并不意味着所有进程都支持啊,或者说某些功能,你必须重启服务才行。啊,你光这个沙发信号有时候不好不好使,那当然这个就没办法的时候呢,你就重启服务啊。好了,这是刚才给大家演示的这个哈,所以呢,从这个例子来讲呢,我们看到harb也不是说说专门杀人的是吧,还让他生效的。那当然我们之前曾经给大家说过,这这两个信号,这两个信号咱们说过了,二信号相当于CTRLC。那三信号相当于斜杠CTRL加斜线啊。那么还有两个信号,还有一个叫15信号,这个15信号呢,恰恰也是默认信号,就是说用Q命令你去执行的时候,默认发的就是15信号,比方说我正在打开一个一个P啊,我就拼它吧,那这个PIN的话呢,它的进程编号,那我们可以用PID off啊,可以看到PIN命令的进程9007。
40:31
当然你也可以用PP这个也能看。你要面试,有时候以前问啊,就是问说这个这个你给我查某个什么什么样的进程啊,到底他的进程编号什么,你可以用P也可以查。那9007这个进程,它目前来讲。
41:00
正在执行的命令不就是这个命令吗?啊,那现在我们想给它关闭它,我们就可以用15信号,15信号是默认信号,所以可以省略。直接写就行了啊,9007,当然了,我们一般来讲呢,能确保这个进程只这个进程只有一个的情况下啊,或者我们可以用PID off这么写,这是不就省事了,省得我去抄那个9007抄错了对不对?哎,这样也可以Q命令后面跟的是信号,呃,跟的是那个进程编号啊进要啊写错了PID,那当然这个地方有一个问题,那如果如果我这多开几个P呢?比方说我再开一个1272。这又是一个进程了,那么如果有多个进程的情况下,那么你这个PID off1查是不是就多个进程了,对吧?哎,那么P你看也是两个进程,那两个进程,那我们用刚才说的这个Q能不能一下杀两个,诶好像没报错,看看这边怎么样了怎么样了。
42:28
关了吧,那就是说是不是用这种方法就把所有这个名称的进程就全杀了,你只要叫聘我全给杀是不是。事实上,如果你真的想把一个名称叫P杀了,你是可以不用这个命令的。我们还可以用别的命令,因为Q命令它面对的是进程编号,那么有一个命令可以让你直接调用它的进程名称叫O。
43:00
那么叫or or呢,后面跟程序名就行了,你就不要再折腾那个什么PID off知道,哎,这不直接到位了,能不能行呢?注意它也是默认发15信号走,你看这边是不是又被我杀掉了,看到了吗。所这个时候Q命令啊,当然Q命令虽然他发15星号能关闭进程,但有的时候关不了,有的时候关不了啊,比方说我们这边有这样的一个呃进程,这个进程是1582。182是谁呢?看一下就知道了。1582。就这个吧,是进城吧,182能不能杀,那我们来试试。1582。
44:04
好看这边关了没,诶好使吧,直接把它踢出来了,你发现没是吧?看踢出来了,诶那问题是我自己踢自己行不行,我自己的进程是谁?1163,你看这不1163吗?这那163我自己踢自己行不行?自杀吗?1163走不行,你杀别人行不能自杀?哎,那15看来不行了,那就来个强硬的什么呢,九九呢,是强制。强行,这就比较厉害了啊,强杀,那看看强闪,你看真的被自己踢出去了啊,踢出去当时又给自个蹬来了啊强杀,但这个强杀真的能杀死所有进吗?那你能不能真的杀死所有进程呢?那我们来看一下。
45:24
好,你看我在六上可以看一下进程的列表,大家可以看到这里面有一大堆的。叫什么linkti看到了吧,Linkti呢,这个东西实际上就是负责接收用户的登录请求的,就是登录终端,那我们都知道这个地方用户呢,登录就是黑色的这个界面是不是要有一个程序来接收你的用户名密码,你看我这一输回车以后啊,我在这个终端上就登录了,我用的是哪个终端呢?那在这儿可以看一下TTY,我是TTY1。
46:06
在刚才这个界界面里面,这是有一个米 Tt1的,但是由于我已经登录了,那这个进程你再来看它就没了。因为都登录了,是不是就不需要再持续运行那个登录的那个用户名密码那个界面了,那个程序就不需要了,但是别的终端是不是还在,因为我没有在别的终端登录啊,当然这些终端进程能不能把这Q掉啊,比方说我把2107它对应的是TT还能不能把它杀了呀,2107杀一杀试试。这是发了个15星号沙发,15星号你再看还在不在。它的进程名变了,但是程序还在。
47:00
啥意思?这就是杀不死的小强,杀了他又再生了。因为进程名还在,但是进程编号变了,说明他再生了,知道吧,重生了啊,跟哪吒似的,换了一个这个莲花的尸体是吧?身体啊,再生了,那杀不死,小强很顽强啊,那Q减九能杀死吗?啊,那我们再杀一次,这回换了三把。2109再看。是不是还是再生了,根本干不掉他?为什么干不掉啊?为什么哪吒能死了复生?因为他有后台啊,是吧?他死不了不是因为他死不了,是因为他师傅救他了吧,是不是啊?所以那你明白了,那要杀他,你得杀谁呀?杀他的上级进程是不是他他老爹救他了?当然这个哪吒不是他老爹救的啊,他师傅救的,那就把师傅干掉啊,当然也就是他的父亲成了,对吧?那父亲是谁呢?来看看。
48:25
啊,看谁是他的后台,那你看看知道是谁了吗?哎呀,这个内地你能杀了吗?这是所有进攻的附近城,这你要杀了,这这还来杀一好像不不起作用啊,你看杀了没没啥,那我们现在来p sax啊,比方说我们把这个再杀一下二幺。当然,付锦城也杀不死,哎,看看。
49:03
我们刚才杀的是2111,是不是那个四那个进程是不是他又还是活过来了,看来我们对这个刚才杀了一下,那个一用杠九杀不动是吧?带头大哥杀不了啊,那那那杠九都杀不了,那你不带杠95能好使吗?好像杀了跟没没杀一样,反正是没感觉啊,那没感觉,那我们再试一次,这回再来把这个小六杀了,2115杀了。那看小六是不是。杀了吗?小六,我刚才杀的是T6,杀了吗?杀了呀,真的杀了呀,这回好使了,那这是不是我们比方说来个PI,要就干脆PI哦,就是。
50:11
米。全杀,你看他一个都没了。振华杀了。你看真好使。现在实际上你的机动就出事了,因为你把登录终端的程序给杀了,我现在还能登录吗?我现在你看我这输用户名不起作用了,那界面被杀了嘛,他没人接收我的用户名密码输入了,所以这时候就相当于你的系统现在没没法登了,你知道吧,当然他是怎么做到的,那个进程既然杀了带头大哥也没杀了呀。那当然也不一定杀死嘛,你比方说重伤也可以啊,对不对。嗯,你把这个内看来,刚才注意我们刚才是怎么把他伤害的,我们是只是发了一个15。
51:06
就是温柔的杀了他一下,但没杀死,但是也重伤了,重伤之后他导致他无法救活底下的小弟了。所以有的时候不要觉得15真的是比杠九要差,刚才我们杠九杀不动人家啊,这个老大不不不来硬的不行,来不软的可以是吧?哎,15你温柔一点,他真的听你来个杠九他不行,刚才我们不是先用杠九的吗?对吧?所以在多做实验,你会发现有的时候真的是这样的啊。软刀子割肉是吧?宣松同学。你被割过吗?这个。温柔的割肉是吧,这挺好啊,不知不觉中,那当然你像这个呢,我们就重启一下吧,因为确实也都完蛋了。
52:03
那你一个一个开启,你像你的以内的进程都受到重伤了,你重启一下修复一下得了,对吧?啊。当然,我们这是故意做实验啊。所以呢,这个背后的逻辑你搞清楚就行了。那再有就是还有这两个信号,这两个信号我们后面再说,实际上我们之前演示那个啊,这个这个停停停止,包括还有那个,呃,这个这个僵尸太的时候曾经用过。那这是Q命令,这个Q命令的写法呢,你可以用小N。啊,也可以用杠一,如果你写这种这种形式的话,写S也可以啊,不过呢,应该是直接可以写也可以,比如说我这儿。
53:01
P啊,那我现在用Q。直接写它的九九信号,那九信号呢,啊,或者发一个二信号也行,我们就发个二信号,二信号呢,是以内信号。直接这么写,然后PID off。啊,你看这边关没关。是不是也关了啊,所以呢,这种信号也是可以的啊,你直接写也行,当然你也可以写全称。啊,你看我再P,然后再发个全称,全称是这个int全称啊,你看是不是也可以啊,看可以,所以这些方法都是可以的啊,不过呢,相信大家应该还是更喜欢。
54:01
字法吧,那数字法省事对不对,省事。好,这是咱们给大家讲的这个这这样的一些疾病啊。啊Q2这个命令呢,需要你特殊安装。啊,这个qol命令,它后面跟的是命令,而不是进程。Q2呢,它来自于一个包叫PSMIC,所以这个包如果你没有装的话呢,它是没有的啊。需要单装啊单装。Q2也好,Q也好,有一个选项,有一个这个特殊的信号。那么这个信号呢,叫零信号。灵性哈,就这个。这个零信号它的功能。
55:03
来实现什么呢?来实现这样的一个作用。看这句话,慢帮助里面有这样的一句话,说什么呀?说如果信号为零。啥意思?咱们有零信号吗?啊,这里面有零信号吗。是不是没有啊,我们从一开始编号呢,到64对不对,没有零信号啊,那没有零信号,那零信号这是干嘛的呀?看到这句话了吗?他就是检查你的系统有没有进程有没有问题,有没有错误的,所以那变相的就是可以实现进程错误的检查。在工作中啊,我们经常可能会定期的去监控某些进程,比方关键的一些业务进程啊,比方外部进程啊,数据库进程啊,啊,我关心他,关注他,如果他出了故障,那赶紧采取一些补救措施,比方说重启服务之类的。
56:14
那怎么检测Q-零就可以了。那我们来试一试。比方说这边有一个进程正在执行。那我想知道这个进程有没有问题,那我就可以用Q-零来检查,哎,没提示那没提示,那我咋知道健康不健康啊,是不是看那个问号啊,对吧。啊,当然了,如果这个进程出事了,比方说停了,那你再看,当然因为这个进程已经被关了啊,所以这个地方是不是就。
57:01
报错了啊,当然这个报错呢,那你理论上你肯定是就非零了对吧,啊报错了。不过呢,这个进程这么发零信号,有的时候他也不一定那么准。哎,那我请大家一个问题,如果一个进程已经僵失态了,你用Q-零它是健康的还是不健康康啊僵尸是吧,僵尸,呃,怎么让它僵尸了,还记得吗?有没有,你看就是我,我们当时构建了一个僵尸哈。啊,构建了个僵尸台,就这个,这是P他的上帝真程不是9062吗?那我们当时是把9062给怎着了,先把它停了对吧,停的话呢,我们这就可以运行刚才那个实际信号了啊我们这儿有一个十。
58:03
99星号十星号啊,停了以后,这时候再来看一下PXX。那我们看到这个信号,这个进程它在S状态啊,那刚才那个90629062在哪呢?在这大家看它已经停了。停了以后你再去杀这个。在杀这个聘的时候,他就变成了一个僵尸太僵尸太太。那比方说呃,就用号吧,这默认发15星号,当然发15星号,能不能把它变成僵尸态呢?诶好像变了。看到没僵尸态了,Z了,那僵尸态的进程系统认为是健康还是不健康呢?发零信号,9179,当然你也可以直接写那个什么PID PID off啊,他已经搜不到了,那我们就直接写进程编号吧,9179,好,你看看看问号。
59:24
竟然还是灵魂,这是不是就是不合理了?你都僵尸了,僵尸不就已经死了吗?对吧?所以这种方法有些企业里面会用,但是不严谨。嗯,确实有些公司在用啊,用Q-零来检测进程的健康性,但是显而易见是不见就是不准确的,所以更加准确的方法应该是什么呢?就是这个进程干嘛的,你去用一个客户端来模拟访问一下,比方说这个进程是提供web服务的,那你就拿web客户端去访问一下这个服务,看能不能反应,如果能反映。
60:07
那说明这个服务就正常,如果访问不了了,那是不是说明这个服务就出事了。对吧,因为你是模拟客户端,那么用户不也是客户端吗?用户能访问,那你就能访问,用户访不了你就能访不了,这不才是更真实的,所以这个Q-零这么它是一种手段,并不是特别严谨。好,这是刚才给大家说的。啊。这个咱们后面学习的有些服务里面。他会用这个叫c service h BD reload,像load这种用法,这个load用法实际上它变相的就执行的是杠一。那这个你可以研究一下这段代码,这段代码里面这有一个reload的函数,这个reload函数呢,它变相的实际上就是执行了一个所谓的哈B信号,那这不发发了哈信号。
61:07
好。那PQ这个命令,PQ这个命令呢,它和。它两个是共用很多选项的。啊,我们去慢PGR,你看它这是不是打开的是PGR和PQ就是两个命令共用一个慢帮助,所以他两个好多选项是一样的啊,好多选项是。好,那其中呢,我们前面在讲PGR的时候,那些选项它都可以用,比方说PQ是发信号的,他可以给某个人的。进程发信号,给某个终端的人发信号啊也可以,当然有些呢是只能是给P使用,然后这些都是只给P使用,而上面这些也能用,QPQ也能用。
62:10
都可以用。啊,所以我们PQ也可以来关闭其中的一些啊信号PQ,比方说我们这有一个P命令,我想把它关了,那你就P就行了啊这这个应该是被。僵尸太老是吧,僵尸太老,你看僵尸太了不起作用了。啊,那我在这边看一下吧。啊,你看它能不能把它关掉关了啊,所以关掉进程,实际上我们现在有多种方法,Q一个方法,QO一个方法,还有PQ的一个方法是吧,PQ呢,它可以定义后面模式啊,Q呢跟的是进程编号啊,Qol跟的是进程的名称啊,这三个命令不一样。
63:14
那他允许后面跟多个进程的进程。名称都可以。而这选项很多。好,这是。给大家介绍的。哎,这个是不是能不能支持正则表达式啊。它这写的是一个pattern啊,这个pattern呢,看看如果能支持智能表达式,我们是不是就可以写正能表达式了。那比方说我们来试一试。后面跟上一个,呃,怎么说是。
64:05
包含。啊,或者是以什么什么开头啊,以什么开头呢?脱字符以P开头,这个能不能行,然后P命令。这不是以P开头吗?看行不行?这就了,所以持策不能也都可以,都可以。所以这个就是它的一个好处啊。PQ。所以这个命令的功能应该更强,记得面试的时候问过这个PGR和PQP。
65:02
就是让你去找一些进程,当然这个p group因为和PQ用的是同一个用法,所以理论上呢,P应该也支持。啊,比方说我们这儿开头的有哪些。八一点点一,然后2.2.2,你看是不是确实出来了有两个嘛,那这就可以加上杠个一。哎,他这列的是这个,那这个是什么,我这边啊,对了,我跑到18上去拼去了,怪不得找不着呢。啊,p2.2.2。
66:03
啊,这样的话呢,就应该找出来了,看了吗?他支持啊,没有问题。好,这是咱们给大家讲的这样的一些这个用法。好,那么咱们现在把这些工具呢都给大家介绍完了,呃,接下来咱们来看一下作业的管理。那这个作业管理是这样的啊,在进程执行的时候,有两种执行方式,一种是前台执行,还有一种是后台执行。前台执行表示,他将占动占占用终端资源,在当前的终端里面,你只能在这个程序运行过程中。这个程序霸占的终端资源,别人不能用,那比方说比较典型的,你看这个P命令,P命令它正在执行,你现在敲LS,你敲PWD是不起作用,因为他在前台执行。
67:14
啊,霸占了终端资源,那么还有一种方式呢,就是后台执行,那这个后台执行呢,就是它不占用你的终端资源,那事实上大家可以看到咱们系统中有大量的进程全都是后台执行。对吧,这些进程它不占用你的众多资源。啊。所以这是两种不同的执行逻辑,一般来讲什么时候需要后台执行的进程,就是不需要人机交互的技能是吧,比方说有些服务之类的。啊,他就是跑就行了,我们用不着和用户之间,就和我们运维工程师人机交互啊,不需要交互,那你就后台执行,需要人机交互那你就前台执行。
68:02
那么他们的前后台并不是说固定的可以进行切换,我们可以用一些方法把前台和后台的进程切换,比方说我现在正在执行这个前台的进程,这个前台的进程我想把它放到后台去,因为现在占用了我的字段资源,导致我敲命令敲不了。哦,你你别给我站着了,你给我后台干活去,我在这想干点活啊,你把这个终端给我试试,给我腾出来,那怎么做到呢?非常简单,有一个键可以做到CTRL加Z键。但是CTRLZ呢,它会把它放到后台,但是可惜的是也放到后台了,它也停了,大家可以看到它显示stop,也就是说他不干活了啊,在后台停住了点啊,这个状态呢,大家应该见过,就那个表现为T状态,看到没T状。
69:01
就是stop状态。哎,你看我现在确实可以自己使用这个终端了,但是你不能不干活啊,你停了,你放到后台,你得接着不干活去啊,哎,接着运行啊,说白了那怎么让它运行呢。那咱们后台它实际上有两种状态,一种是停止,一种是运行,我们可以把后台停止的进程恢复成运行,但是它仍然在后台。那么用什么方法呢?我们这儿有一个方法就是用。BG这个命令。BG。大家看刚才我是把前台的进程放在后台停止,怎么干的呢?CTRLZ对吧,CTRLZ,那现在后台我想变成后台运行BG,后面跟作业编号,那这个作业编号是什么呢?作业编号实际上你可以通过这个命令来看到jobs。
70:04
大家看这是不是有一个一。一就是那个作业编号,注意,这个作业编号只能在当前终端里看到,什么意思啊?就是在别的终端里是看不到的,比方说在别的终端里面你看不到它,只能在当前的终端里看到。好,那现在我把它放到后台,但是我希望它是运行状态,那就是BG1就行了,一就是那个作业编号,大家看运行起来了吧。但是运行起来了,我们说现在它是前台后台啊。啊,前台后台啊,这这这这还前台呢,我这写着呢,就是这图后台运行啊,后台运行并不代表着他不在屏幕上不打东西啊,他屏幕上该输出输出,但是我该敲命令敲命令,比方说输个PWD,我输了个屁呀,我还没来得及输W呢,他把我打断了,没关系,你闭着眼敲就行了,你再敲个D,哎,你就当他没出现敲回车执行了吗?执行了是不是这个逻辑呀,那这个终端资源是不是你可以用啊。
71:16
他没占用嘛,没占用就是后台了嘛,他就是后台,你就是前台是吧,当然肯定是不不好看,他会把你的这个正敲的命令给你打断了,那你就别管他不就行了。那。当然了,我现在又想,我现在想把这个程序给关了,关了的话,我们平常要关掉这个程序CTRLC吧,但这个CTRLC能行吗?现在那他后台你现在CTRLC,它是只影响你目前前台,那你管不了,管不了人家了,那这个怎么办啊,那再把它恢复成前台啊,就是我们从前台恢复到后台,后台再恢复成前台的,那怎么恢复呢?有一个命令可以做到,就是BJ。
72:03
BJ后面跟作业编号啊,哎,什么BJ啊FGFG这个说话都都过大脑了,这怎么回事啊,FG,当然FG呢,也是要看它的那个作业编号一,当然因为我这只有一个一的后台执行进程,所以就写一就好了啊,那就是FG空格一走,诶这时候他前台去了,前台切了你,然后你敲PRB,你看不起作用了,是不是前台了,那既然前台了,CTRLC是不是就好使了?看明白了吧,哎,前后台切换会了吧啊。当然那有的时候我们希望我想执行一个比方说备份,这个备份可能要花十分钟,那十分钟这么长的时间,那占用我的终端资源,那我别的活干不了了呀,那当然我们马上就应该想到是不是像这种长时间执行的,干脆就把它放到。
73:01
后台执行不就得了,对不对啊,比方说有这样的命令,这个命令他可能要休眠一门100秒。那他要执行100秒,那现在我等不及啊,我想干别的活,诶你放到后台,怎么放到后台呢?非常简单,加个at符号就可以了,你加把它加到艾符号,它就放到后台执行了,它不是停下来啊,就是后台了啊注意你看现在drops,你看它在run me看到没,它没有停啊,啊不要停是吧,继续运行啊,那现在这就后台运进去了啊,那需要后台运行在这个上可以看那个sleep。就是在后台运行嘛。啊。好,那么正在运行没有问题,正在运行没有问题。呃,事实上大家看前后台,它这个有是有加有编号,大家看这个地方有个加号,这个加号什么意思,哎,加号在最早的时候,我们在讲那个进程状态的时候啊,它这个命令里面,它是有各种。
74:11
状态的看这加号就是前台进程,看到吗?前台进程。啊,所以现在实际上这个带加号的这个前台点,当然所以我们用刚才画的这个图,你现在再来看我们目前介绍的前后台的切换这个图。差不多就了解了,你看这个命令直接加大括号就后台运行去了啊,当然这两个后台运行,我也可以把它变成后台停止。方法什么呢?方法发个15信号,呃18信号,发个18信号就呃应该是19啊19信号,发19信号就把后台运行的进程放到后台休眠啊,那你看我这有一个SLEEP100,他说他在在吗?啊已经还他还在,那还在的话呢,我们就把它发一个19信号。
75:10
啊,当然我们可以看一下jobs,他现在是要结束了,Down就是结束了,当已经结束了啊,做完了,做完了以后呢,你看一下这就没有那个sleep了,当就做完了是吧?当就做完了啊,那我还是执行一下这个127得了,这个他是一直执行的。现在它是后台运行,但是我现在我想把它停住,先别干活,因为你特别消耗资源,我想干个大活啊,这个更占资源,那你这占的资源比较,嗯,比较影响我先我想你先停住,先暂暂时先别干了,先等一等啊,等我干完这个重要的活,你再接着干,那这时候我们就要把它放到后台停止,那么怎么做呢?Q,哎,发一个19信号。
76:01
啊,这个19信号呢,我们后面跟上一个PID啊,就跟上一个P。呀,写错了,应该p of是吧?啊那那敲一下呗,它就不执行了嘛,那CTRLC就不执行了,不执行了。当然这个东西如果你觉得在当前终端里受干扰,那你可以换一个新终端不就行了吗?啊换个新终端,反正你查的是它的进程编号嘛,对不对,所以这个东西也无所谓了。啊,在这你看有一个进程,这不能看到它进程编号吗?9363,那我就可以用Q发19信号的方法来实现,哎,这时候它就后台停止了,那看他真的停止了吗?你看这边它已经不动了。是不是停了吧,哎,停了停了以后,你看它现在是不是T状态了。
77:03
剃了吧了。当然我又想让他接接着运行了,那刚才我们说过用什么来着,四八或者BG也可以,BG也可以,那事实上咱们这个地方它有一个那个作业编号是可以查到的jobs。那这个作业编号呢,也可以用,我们用Q加18,然后这写个百分号一,这个也可以,这个百分号一就表示这个作业的编号,你不想借写进程编号,写作业编号也可以是吧?你看它是不是又跑起来了,看懂了吗?啊,那这个图我都给他画了啊,大家看这里面我都写了,这个图上把各种切换都给他讲了,明白了吧,看这就是执行过程。当然现在有一个问题啊。一个进程,如果是后台,注意这个是后台进程,后台进程,后台进程虽然不占你的终端资源,但是。
78:09
他把这个窗口一关,请问这个进程还会执行吗?啊,目前这个P命令正在执行啊,我把这个窗口啪一关,它还运行吗?我关了它走,你看这个片还在不在?有吗?有吗?那是不是就是后台进程也好,前台进程也好,你这个窗口一关呢,这个程序也就没了,那这个东西也不好啊,比方说咱们上班的时候呢,将来比方说我要做备份。那备份的时候,哪怕是前台也是好,后台也好,你备份肯定花比较稍微长点时间啊,你要是二分钟啊,一个小时,甚至数据量大的话都有可能的,那你花这么长时间备份,结果突然窗口关了,或者突然网络有波动断了,那这个时候那个程序是不是就相当于做了一半没做完啊。
79:06
这个是不能接受的啊,而且往往我们将来做备份还都是半夜备份,因为半夜的时候人心这个夜深人静,没人嘛,没人访问你这个服务器压力小,备份的时候所谓备份就是拷贝嘛啊。所以这时候。那你通常来讲是通过自动化来让他执行的。那自动化来执行。那现在你执行的办了,万一出了这点事儿,那相当于前功尽弃了。那这个为了解决这个问题怎么办呢?我们曾经好像说过一种方法。可以来解决,还记得那个方法吗?啊,好像那个终端窗户关了,它照样会执行的啊,那个是不是我们敲过一个screen的任作工具,这个工具可以做到,比方说你看我P127.20,你看你现在把这个窗口关了,我啪。
80:08
一关关了以后,你看我现在十点点八一个都没连的了,那我就重开一个新的窗口,开了以后,你看一下它的进程是不是还在。看见没看,当然你就是看不到它执行了,那看不到执行了,你再把它恢复一下,还记得怎么恢复吗?是不是一个R啊,你看恢复了吧。啊,当然这背后它是怎么做到的呢?你不觉得有点奇怪吗?为什么终端停了它仍然能运行啊,你看它这个P命令啊。啊,当然我们现在呢,我先把它关了啊。啊,你看这个P命令不在运行。P命令,我在运行P命令呢,你看看他的进程数关系。
81:09
屁在哪儿呢?这样我今天把它停了,然后重新开一下啊,重新开一下,然后然后P1270.0.1好,我这开了一个P,我们看一下它的进程数在哪。啊,大家看它是在这95212209520。在这儿。啊,它的附近程是9503,目前是9520,那么现在我们把这个窗口一关,好像他并没有关闭,但实际上你把这个窗口一关呀,你相当于把他父亲给杀了。那相当于他没有库进程了,它和这个进程数就脱离关系了。
82:01
啊,那脱离关系了,但是他并没有死掉,那为什么呢?那你应该猜到他怎么办?郝总成熟了是吧?成熟了你看看他是不是发现他的上级进程跌死了啊,跌死了就找干爹了,看他找到干爹没有啊,哎,我们过去了吗?在在底下有没有。暂停。你看他技能编号没变是吧,他是不是找了个干爹又?新开了棵树是吧?新开了棵树,这是他不死的原因。所以你将来一定要学会这本事啊,找好爹,发现不对头,赶紧找新,找新老大,新老大,等你们上了班,一定要找一个能依赖的老大帮罩着你,是吧?
83:03
实际上有的时候就是这样的啊,不是说你的水平有多高,只要上级领导看中你你就行,看不中你,你水平再高也没用。有时候公司里面也是这样的。啊,当然,你只要有水平,大不了咱换个地儿呗,是吧?啊,此处不留爷,只有留爷处是吧?那换个地儿,别的地儿干活呗。啊,这是咱们刚才给大家讲的啊。好了,这是。前后台切换还可以用no harm也可以,No harm呢,我们有好多工程师也喜欢用,因为spring呢,终究来讲这个还需要单独装no harmb呢,是系统自带的啊,为什么是自带的呢?你看一下type no harm。这个不用单装,这个不用单装,它应该是系统属于标配,我们都知道啊的,那个是要单装的。
84:14
它属于核心工具包克核,核心工具包这个模就是系统本身就装,系统就会带,就是核心包。啊,你看这里面除了no harm,这里面带有了我们是不是常见的工具啊,啊,所以呢,这个工具可以说是。居家必必备的工作啊,工具啊。空军。好,那这个工具的使用呢,跟我们刚才讲的这个前后台,就是终端是类似的,就即使终端关闭,他也不会停止这个进程运行,它的方法呢是这样的,No hard后面跟命令就可以了,就这么简单,所以它的使用呢非常简单,No hard后面跟上你希望持续运行的命令,不过这个命令有一个默认的有问题,就是他会把这个后面跟的命令的标准输出。
85:30
不断的写入当前目录下的这个文件,刚才这个PIN大家注意到之前是有输出的,现在没有了,为什么他被放到这个里面去了,那我们来看一下这个文件里面有没有贴一下,因为我们P命令是不断的在打印。看到吗?啊,所以他就会不断的把这个信息输出到这个文件里去。
86:08
那因此那为了产避免产生这么多的输出信息,我们通常来讲习惯的就是把它扔到垃圾箱里,所以这样的话就不要放在no have out文件里。这不就行了吗?那这时候呢,这个命令它就可以在系统中持续运行了,那我们来看一下现在的P,这个现在的P呢,是应该是95929592。那我们看到好像这个no呢,这个进程能不能看到有一个叫no harm的进程。我们发现竟然看不到对吧?啊,虽然你运确实运行它了,但你看不到它。只能看到PINPIN的上级进程是9446,好,那现在我们去再去模拟一下。
87:16
那这个背后的string这还运行呢,刚才这个spring没关了是吧?当然这个要想关也简单啊,怎么关呢?先看一下,然后R上去,这不运行吗?CTRLC不就停了对吧?CTRLC就停了,你再看是不是就没了。好,我们把这个给它复制出来。贴在这儿。好,那接着呢,我们把这个终端给它关闭。啊,大家看这边有个持续运行,当然你可以把它放到后台啊来注意你这个地方,你要CTRLC的话,它是不是就停了,因为你没有放到前台执行啊,没有没有放到后台执行,所以就停了,所以呢,方法正确的方法呢,应该是加个at符号。
88:08
啊。把它放到后台执行。啊,所以正常的应该是这么干。把它放到后台。好了后台以后呢,你在这边去查看它的进程关系,你看是没有的,然后呢,P这是可以看到的。我把它再重新复制一遍啊。好,那接下来呢,我们把这个终端呢,给它关掉这个终端。这个终端不是刚才开了一个后台进程吗?刚才我们前面做实验的时候关掉这个后台进程,它是不是就导致这个程序就关了。好,那现在我们关掉它,看看会不会导致我们的程序关闭。关了关了以后你再看一下这个P。
89:00
发现了吗?发现啥了?是不是他找新爹去了?又你从这个缩进上是不是也能猜到他的亲爹是谁?啊,好像是可以查看到它的这个整个p group PS有一个选项是可以看到它那个树状关系的是吧,叫什么来着。啊叫啥来着,有一个选项可以加加加粗。高亮了。H。
90:02
杠H再加浪皮。啊。不是这个梦,这是显示进程编号。进程的那个大大H啊H对,但是我这跟那个进程编号,我这进编号是多少。64696409640。这儿有一个加粗。这。这能看到是吧,它的附近程就CND了啊CND了。
91:02
电视。好了,这是刚才咱们看到的,所以它的附进程就变成了CND。那由此呢?当然也就意味着它不会随着终端关闭而关闭。把终端。啊,再去观察。啊,这个要查看P命令的附进程怎么查看啊。
92:02
有一个叫附近城市,看来是不有这个来着,好像是还是哪个来着,选项哪个来着。附建城。啊,这个子进程,这是匹配这个父进程的子进程。有没有查附近城的?这还没有。没有。这是匹配,这是紫禁程,就是这是附进程啊,附进程的子禁程,也看不到那个紫禁程的附进程,紫禁程的附进程啊,没有那个搜索选项啊,啊之前好像有一个例子,我记得是P来着,是哪个。
93:18
是的功能吗?诶这个这个这个有一个大H。吗?但是它是可以看到这个进程数关系。啊,这个介绍数关系就是显示它的前面进程在H大H就这这一条链可以看到它是高亮显示啊高亮显示。好,这是这是看父子关系,那F这个是可以看的,好了,那这样的话呢,我们现在就可以看到这个副进程并不会因为终端关闭而关闭了。
94:08
那所以在工作中啊,如果你要有一个需要长时间执行的进程啊,那么你就可以考虑用以下的三种方法都可以,这个也可以啊,这个咱们说过这个命令啊。这个t mark最早讲过多窗口的一个功能,它比spring看起来还要更功能强,更花哨,好,这是咱们给他讲的jobs,包括前后台切换的各种语法,各。好了,那现在目前我们已经把前后台切换跟大家说过了,这边还有一个并行执行,这个我们休息一会,待会再说。
我来说两句