程序和进程(进程优先级 前后台进程)
学好Linux的每一课 2018-11-18 15:35:31
A:进程的优先级(代表不同进程执行顺序的衡量值)
1、nice命令的使用(要启动的程序还未启动,利用nice进行调节)
我首先仅查看了自己用户下的bash进程,然后利用nice对ps命令调节优先级,但是没有指定优先级,默认以10为间隔调节。
2、renice命令的使用(进程正在进行中,利用renice进行调节优先级)
经过一系列操作,可以看到,在最后一步,切换到超级用户的情况下,通过renice命令完成了对ps命令优先级的调整,我们发现ps的优先级由8变为-15但是它上面的bash的优先级也变成了-15,这是什么原因呢?经过观察,bash是ps的父亲,ps被调了,说明它的父亲也被调了。
B:前后台进程
并不是所有的进程都可以放后台的,有些进程需要交互的,就不能放到后台,因为一旦放到后台就无法与用户互动。但是有些情况下,一些进程在前台运行,花费时间比较长,我还有其他工作要做,就可以将这个进程先放到后台继续运行,前台继续我的工作,等到我的工作进行完,就可以将放入后台的进程在从后台调出来。
例子:
1、vim可以放入后台,但是在后台里面,没办法打开文件,对文件进行编辑
2、top命令也可以放入后台,但是在后台里面不工作,进去什么样出来什么样,不进行动态数据更新。
可以发现前面为+的是倒数第一次扔进后台的,-是倒数第二次扔进后台的。
每一个被放入后台利用fg调出来以后,紧接着就按了ctrl+z再次将其放入后台。
被干掉以后,不留位置,直接按着以前的顺序进行添加,从5开始。
下面的的场景就是当我们远程连接网络时,通过pts可以知道,连接网络,通过断网后发现73713的父亲变成了1,即表明父亲自杀。虽然网络断连接,但是不会耽误后台进程的运行,进程依然可以继续。