这一节和前面比起来简单多了,主要是熟悉RHEL下的进程管理相关的常用命令 ps aux, pstree,top, jobs, kill, bg, fg


进程可以由一个进程的基础上运行另外一个进程,前者叫做父进程,后者是子进程。

比如我打开一个终端,这是一个进程,然后我在上面执行命令,打开新的程序,新的程序则是子进程。


比如说,我打开firefox


RHCE 学习笔记(7) 进程管理_第1张图片

这个时候可以通过pstree来查看进程树


RHCE 学习笔记(7) 进程管理_第2张图片


搜索一下firefox,可以看见 firefox是termianl的子进程


RHCE 学习笔记(7) 进程管理_第3张图片


除了pstree,我们还经常使用ps 来查看当前的进程。ps只能查看当前终端的进程,ps aux可以查看所有的进程,这个配合grep就可以查看我们需要的进程状态了。


例如我们可以使用下面3个不同的命令来查看firefox的进程,注意pidof必须是进程的全称

RHCE 学习笔记(7) 进程管理_第4张图片


ps aux 是静态的显示某一刻的进程,如果需要动态的显示实时信息,可以用 top



如何关掉一个进程? 我们可以用kill命令


kill -l可以显示信号的代码,其中2 相当于 ctrl+C; 9 强制退出; 15是默认值,关闭程序


RHCE 学习笔记(7) 进程管理_第5张图片


如果我需要强行关掉firefox,运行 kill -9 1359 就可以了


最后我们看看前台程序和后台程序。


如果我直接执行 firefox,他会打开一个firefox的界面,但是这个时候我的终端就没法继续输入了,这是因为firefox运行在前台,如何切换到后台呢,可以 按 Ctrl+Z,状态就变成 Stop了,这个时候再输入bg,就切换到后台了;输入jobs可以查看后台程序; 输入fg可以切换回前台。


如果想直接运行在后台,后面加一个 &符号就行了,例如 firefox &



RHCE 学习笔记(7) 进程管理_第6张图片