00:00
大家好,欢迎大家继续收看上微谷的云计算课程,我是沈超老师。这节课我们开始学习系统管理当中一个叫做工作管理的东西。这是个什么东西啊?其实说白了就是管理我们linus当中前台的任务和后台任务,什么叫后台?看Windows也有,我们把这个Windows下的程序最小化。我问这下面这些程序它终止了吗。B没有吧,但是它这个显示在前台,这个持续运行,它是持续运行啊,但是他也没有显示在前台,那我们Windows下认为把它最小化之后,它其实就是在后台运行。但是呢,我们Linux是没有这样的一种图形终端的,它是没有这样的图形界面图形终端的,那这个时候呢,它的后台可能就会更隐蔽,我们比如说把这个程序放入了后台,那它就只能可能通过看进程在这儿,当然我们待会儿还有一个叫做jobs命令,可以查询后台运行的命令这个程序,因为查询后台程序的这个命令叫做jobs,所以我们也把这个东西叫做工作管理,哎,因为jobs就是工作的意思对吧?好,其实说白了就是啥,我们Linux下也可以把程序放入后台。
01:20
那这里有几个注意事项啊,第一个就是指的什么叫前台,什么叫后台,那前台呢,就是我们可以直接操作的这个环节,当前系统下直接执行命令就是前台,后台呢就是我可以通过特定的手段,待会儿我们会讲把它放入到后台,放入后台之后呢,你就不能直接用CTRLC来终止它了,就只能通过FG和BG来调用后台程序,这个我们都待会儿来学习。第二个事儿,这个事儿也是一个重要的东西,请你注意什么?当前终端只能管理当前终端的工作,也就是说你通过当前终端,比如说我通过远程终端登录一远程终端进去之后执行的后台,你通过本地终端去看,你是看不到。
02:06
这个这个工作放入后台的进程,绑定在你当前这一个终端之中。一旦你把这个终端关闭,这个后台进程就会消失。哎,这个也是个特征,你通过哪个终端放入后台的程序,只有这样一个终端可以用,有人可能会觉得老师那挺二的,为啥我们有很多程序可能就比如说我就要放在后台,让它持续运行。那这个时候我一关这个程序就会终止吗?是,那有没有办法让它持续运行,跟你的终端关闭没关系的,有我们待会儿来选好,这是第二个事儿啊,他绑定在当前的终端之上,引用哪个终端操作了,他才能查看到这个后台程序。再有一个。放入后台的命令应该叫持续运行一段时间,哎,为什么要放入后台,比如说我们有时候我们安装一些程序,我们的编辑安装需要浪费很长时间,比如说装个MYSQL编辑可能就需要十几20分钟。
03:02
那他在这邦唧邦唧邦唧一直编着,你是不是就没有其他工作可以干,你干不了了,那这个时候我就可以把它放到后台,让他可以持续,你就不影响我当前工作,对吧?但是呢,你不能把什么MS啊啊,什么CD啊这样的病令放入后台,为啥这玩意儿一回车就消失了,你想看他也看不到。对不对,所以我放入后台的要有一定的工作,就是要能持续运行一段时间,哎,这个也是需要注意,最后一个这个事儿一定要想清楚是吗。放入后台的界面不能和前台用户有交互,或者需要前台的输入,否则如果你放入后台,它只能暂停,而不能在后台执行。什么意思?举个例子。比如说V。哎,我问你VI是干嘛啊,VI我们打开一个文件,我是不是得有人来手工输入这个东西才能,是不是才能写数据,那我问你,如果我把VI放入后台,你觉得他在后台怎么运行,它有运行的必要吗?
04:07
那这样的话,这种程序像这样的这种就是什么?它和前台有交互,就是说它执行的时候需要用户来手工输入,它才能有起到作用,这就叫和前台有交互,像VI就是典型的能放入后台吗?能,但是它不论你用什么方法放入后台,它都是暂停的,它没有办法在后台执行,因为它执行的前提条件是需要有用户来输入,听明白了。那不光什么呀,还有个典型的就是top。我们特别容易拿top来做实验。原因,Top。它会持续运行。如果你不按Q键终止,它就会一直运行,那这是不是就是我满足我说的这个条件,说它必须要持续运行一段时间,所以我们特别容易拿top来这个做实验,但是你小心啊。我问你top是干嘛的?
05:00
Top是给用户来显示服务器的,这个占资源占用状况是吧,他是给谁看的?给用户看的吗?那我问你把这个玩意儿如果放入后台,它持续运行,你觉得有什么意义吗?那这个是不是也是他和前台有交互,所以top也不能放入后台运行,如果放入后台,不论你放入怎么放入后台,放入后台都是暂停的,不用不论你用什么方法放入后台,它都是暂停。这个事儿大家小心啊,这几个注意事项,其实我们用户。学员最容易搞混的就是这个,你搞清不是所有的命令都可以在后台执行的,只有什么这个程序不需要用户接入。比如说。呃,打包压缩。程序安装,这个时候你只要把命令敲对,它就不需要你用户接入这种程序,可以放入后台。而像V和top这是两个典型的东西,它不能放入到后台运行,它放入后台就只能是暂停状态,OK,好,注意事项啊,我们慢慢理解,待会儿我们讲的时候还会说,那我们来看看怎么放入后台。
06:08
两个办法,第一个办法,命令后面加单and符,小心是单and符啊。不是双按的符啊,双按道符是什么?命令顺序执行吧,命令一正确执行,命令二是不是才会执行对吧?这是单按符,它的作用就是放入后台,那这种命令如果用这种方式放入命令的后台,那它就是执行状态,这种放入后台的命令就是执行状态。还有一种方法就是在执行过程中摁CTRLZ,这个我们前面说过了,CTRLZ不是终止,它的作用是放入后台。其实。它的作用是暂停,然后再放入后台,换句话说,你只要用CTRLZ放入后台的命令,它就应该是暂停的,它都应该是暂停了,那我们试试啊。我们先来试试第一种把命令放入后台,那我说我们应该有一个持续运行的这个命令,其实呃,查找这个还是不太好,为啥搜索的时候我们现在都是实验盘,里面的数据量很小,就算搜搜整个根可能也会瞬间完成,那我们就还是用这个打包压缩这个还是。
07:18
比较常见的,那我们来试试,我打包杠CCCVF,把ETC目录,整个ETC目录打包成etc.T。点这Z不要加V了,V的作用是不是看它的详细过程对吧?好,我先用按的符把它放入到后台,你看一下看。ETC点塔点之间,我们,诶,我哪里写错了。哦,写反了,汗。那个。哎,脑子晕菜。前面是不是写压缩报名啊,后面写我要压缩的目录对吧?啊,压缩的是ETC目录,放入后台好,你会发现这个家伙在运行,你看job布斯看,有一个程序正在后台运行状态是运行的,而且有竞程号那。
08:13
呃,哎,结束了啊,没来得及,那这个程序就运行完了,这个它会提示你让它持程序结束完就会看到,哎,这是第一种方法放入后台它会运行的,第二种如果我用。不要加这个,我是直接运行,然后CTRLZ,那你可以看到我放入后台的状态,它是停止了,暂停了,这个时候你可以这个有充裕的时间来操作,他始终是暂停的,看这个家伙在这儿,当然看他看到了这个状态也是暂停的。也是暂停了,OK,那这个家伙就会卡在里面,它就会一直卡住,这就是这两条两个方法的区别,看着啊,我们再来一遍。
09:02
如果用上面这种方法。他。这个用jobs查,它是运行状态,当它自动执行完,它会告诉你这个程序已经终止了,执行完成了,来。那如果是我在。它执行的过程中,手工通过CTRLZ来放入后台,那它放入后台就是暂停状态,那它就不会运行,它就会一直在这儿放在卡在后台,直到你手工,要不然你强制把这个进程给干掉。他才会这个结束,要不然我们待会儿可以通过这个恢复,把它恢复到前台的方式,让他来进行操作,好这是放入后台的两个方法啊,区别一个是。如果用这种方法放入了它就是运行状态,如果用CTRLZ放入了它就是暂停状态,但是你小心啊,我前面说啥我说。VI和top不论你用哪个方法放入后台,都只能是暂停,不相信我们试试看到top按理说是用这种方法放入后台,它应该是执行状态对吧?那我们放进去看一下。
10:09
赵,其实已经能看到了,看它虽然在后态,但是状态,状态是暂停的,它运行不了,看也是暂停的状态。看到了,原因就是我们说了top的作用,Jobs啊,Top就是给前台用户显示你在干什么,就是看这个系统进程的,你放入后台是没有意义的,他和用户有交互,不光套宝,VI也有这种情况,那VI VI ABB,我们这里有个文件吗?啊,无所谓啊,有没有都行,VI test放入后台,那这种情况下你看放进去告它依然也是暂停状态。不论你用什么方法放入它都是暂停的,因为这个东西它放入后台运行是没有意义的,看清了啊。好,并不是说我们讲错了没有啊,这个放入后台运行,它要能在后台运行才行,比如说安装打包压缩这些东西放入后台都可以,OK,好,这是。
11:10
如何放入后台,怎么放进去区别啊,CTRLZ放入后台是暂停,这个命令后面加单的服是执行,那但是小先像VI和top的这两个命令,不论你用什么方法放入后台,它都是暂停的,好,这是放入后台,那咋恢复啊,那先看看怎么查jobs。如果加个杠L,就可以看到它的PI号,看着jobs,小心这个不是ID号。这是他的工作号,也就是放入后台的顺序,第一个是最早放进去了。这三个是最后一个放进去了,那jobs后面加个杠L,就能看到这几个家伙的进程号。当然他也能看到他的状态,状态都是暂停的,OK。这是jobs,那要想恢复怎么办?除了强制把进程干掉,哎,我直接用Q把进程干掉是可以的,但是标准恢复方式应该是通过FG后面加工作号。
12:12
的方式把它恢复到前台。哎,如果这个命令可以在后台运行,就可以用BG加工作号放入后台执行,但是我再说一遍啊。我们的top和VI是无法在后台运行的,所以就算你看我用B这工作号,百分号后面加二,我想把这个第二个工作,也就是他。让它在后台执行,但是你看一下drops,它依然是停止状态。没办法执行的OK啊那。啊注意啊,这个百分号可以不写啊,单写号234123就行,但是不要和PID搞混啊,不要和进程D搞混,那谁能在后台恢复执行了,诶这个压缩没问题,所以你看呢,我如果BJ1,那他的意思就是我刚刚本来是把它暂停在后台了,现在可以让这个第一个工作让他在后台执行,那我们查询一下。
13:09
Jobs,看他现在是运行状态。如果稍微再等一会儿,这个家伙就会终止了,你看呢啊,还没有啊,它还在运行,这个可以放入后台运行看到了。那这是放入后台执行那。还可以恢复到前台执行,哎,B就是back的意思,白光的F就是前台啊,不要不要搞混。那像top和VI这样的东西呢,像哎这个。打包压缩了,执行完成了,现在是不是后台就剩两个了,对吧?那这两个家伙既然不能在后台运行,那我可以把它恢复到前台运行,没问题,加工作号二,哎,那这个top就会了,正确终止它就行了,那现在呢,是不是就里面就剩一个三了,那么FG3,那么回车就可以VI啊VIVI修改test文件啊,这个test里面保存的是top的一个数据,对吧?那我们正常退出就行了,这样的话工作里面就没有东西了。
14:10
当然,我再说。我们一直在说说啥。这个工作是保存在当前终端的,如果你真的没有管它,把终端关掉,这个也会消失,它也可以这个这个当然它不是正确终止啊。它不是正确的终止,所以我们认为认为你还是应该正确终止之后再关闭终端。好,我们再看一下啊,Jobs是用来查询你后台的工作的。FG加工作号可以把它恢复到前台运行,BG加工作号可以恢复到后台运行,当然要想把这个后台工作恢复到后台执行,前提是这个工作本身就可以在后台执行。哎,像V和top这样的,就算恢复到后台,它也是依然是暂停状态,OK。
15:01
最后一个。我想让我的后台微微脱离终端运行。各位,我们一直在说什么?我们放入后台的这个程序,只能执行当前终端的这个程序。那如果我要用远程终端。这个在后台执行的命令,当我如果退出终端登录这个后台,程序就会终止,就不会执行,但是我有时候确实需要让一些程序长时间后台执行,有这可能,比如说我们做一些监控啊这样的事行,我们有一些程序就要后台长期执行,那我不能说我把终端一关,这个程序就消失了,这个不行,诶那怎么办呢?那如果我确定我需要让我们的程序长期在后台执行,哪怕我退出了这个终端,它也会执行,我有这样三个方法。两有这样三个第一种。你直接把它写在把你这个程序直接写在RC.logo里。你要后台执行的程序,直接写到这个启动文件里,后面加and符写进去就行,你当时写你就说你想执行什么就执行什么,比如说把命令写好,然后加and符,这个就放入后台直接启动的时候执行,这个没问题,你不论通过哪个终端进来,它都在。但是。
16:12
这需要你服务器重启。如果服务器不方便重启,这个方法就不行,那第二个方法通过定时任务来调用,哎,我们后面会来学习定时任务,让系统在指定的时间自动来执行,这样也可以这个关闭终端之后不影响运行。那最后一个方法,也就是Linux下提供了一个命令,叫做no hop。这条命令的作用就是脱离中弹,如果你想把这个命令放入在后台运行,在前面加一个noup就行,比如说我想把这个find命令放入后台,但是想让它,当然这个命位不能持续运行,因为它不是一个会持续运行find找找完之后它就会这个就结束了,对吧?但是我确实以后如果有一些程序,我真的是我需要24小时开的程序,也是我自己写的,它不会终止,它会不隔一段时间执行一次,隔一段时间一次,你只要在前面加一个no ho就可以了。
17:06
这个程序就会放在后台自动执行,而且就算你把终端关掉,这个事儿也可以执行,不会,呃,依赖终端,那这是三个方法。看你的需要来做。那常见的应该还是no harm啊,No harm好,各位。这就是我们说的工作管理,为什么叫工作管理?其实最主要的原因就是还是查看后台工作用的是job命令这样的一个工作的这个单词,那这个呢,其实难度并不高,其实说白了就是把它怎么放入后台,一种方法是命令加and符,它会在后台执行,另外一种就是执行的过程中,CTRLZ,它放的后台是暂停的,然后呢,Jobs可以查询,FG可以恢复到前台,BG可以恢复到后台,如果想要脱离终端,只要前面加no hop就行,就这么多东西。但是啊,我再强调一遍,一定要注意的事情就是这个。
18:04
VI和top值这两个典型的实验特别容易拿它做实验,因为这两个命令不会终止嘛,这两个放逐后台是只能暂停的,它不能在后台运行。好各位,那这节课呢,我们就到这里,我们下节课再见。
我来说两句