前面小节对文件和目录的创建、删除、移动、重命名、查看、修改等操作做了介绍,本小节开始学习 Linux 进程相关的知识点,学习如何查看 Linux 中的进程信息,并介绍通过命令展示出来的进程信息。
进程(Process)是系统中进行资源的分配和调度的基本单位,是系统中的软件程序对某些数据集合的运行活动,是操作系统结构的基础。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。其定义如下:
狭义定义:进程是正在运行的程序的实例;
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
这里以启动一个 nginx 服务为例,首先使用 yum 命令安装 nginx 软件,命令如下:
yum -y install nginx
执行结果如下:

如上图所示,已经安装好了 nginx 之后,可以使用如下命令启动 nginx 服务:
service nginx start
执行结果如下:

启动 nginx 之后可以使用本机浏览器访问,但在访问之前需要先将 Linux 防火墙关闭,命令如下:
systemctl stop firewalld
systemctl status firewalld
执行结果如下图:

关闭防火墙之后,就可以通过浏览器查看到 nginx 软件服务展示的内容:

在启动一个软件进程之后,可以使用 ps 命令查看启动软件的进程,命令如下:
ps -aux | grep nginx
执行结果如下图:

Tips:
ps -aux | grep nginx中的ps表示查看进程,aux是进程跟的参数,|grep nginx表示使用管道查看nginx的进程。
Centos操作系统中进程的状态有五种:
ps 命令可以用来查看进程相关信息,下面列举一些 ps 命令的参数:
| ps 命令参数名称 | 功能与作用描述 |
|---|---|
| -a | 显示现行终端机下的所有程序,包括其他用户的程序。 |
| -A | 显示所有程序。 |
| -c | 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 |
| -e | 此参数的效果和指定 A 参数相同。 例如: ps -e |
| e | 列出程序时,显示每个程序所使用的环境变量。 |
| f | 用ASCII字符显示树状结构,表达程序间的相互关系。 |
| -H | 显示树状结构,表示程序间的相互关系。 |
| -N | 显示所有的程序,除了执行ps指令终端机下的程序之外。 |
| -s | 采用程序信号的格式显示程序状况。 |
| -S | 列出程序时,包括已中断的子程序资料。 |
| -u | 以用户为主的格式来显示程序状况。 |
| -x | 显示所有程序,不以终端机来区分。 |
Tips:使用上述一个或者多个参数可以查看到指定的进程信息。
上面介绍的 ps 命令只能查看输入命令那一刻获取到的进程信息,而 top 命令可以实时监测进程信息:
执行结果如下图:

如上图所示展示的是实时进程监测信息,下面对这些信息进程说明:
D 表示可中断的休眠状态,R 表示运行状态,S 表示休眠状态,T 表示跟踪状态或停止状态,Z 表示僵化状态;Tips:
top命令展示出来的信息默认是按照%CPU的值从大到小排序的。
本小节介绍了,如何启动一个 nginx 程序进程,然后使用 ps -aux | grep nginx 命令查看 nginx 相关的进程信息,ps 和 top 命令都能查看进程信息,ps 查看的是输入命令之后那一刻的进程信息,而 top 命令可以实时监测进程信息,这些命令和参数在实际业务中特别重要,能快速看到那些软件应用的运行状态,它们占用的资源大小信息,从而可以很好地对系统和软件优化。
0/1000



















