前言:
Linux进程是指正在运行的程序的实例。每个进程都有其自己的独立内存空间、指令指针、堆栈、文件描述符和其他相关资源。Linux进程的创建、调度和撤销都是由操作系统内核负责的。
进程在Linux操作系统中扮演着至关重要的角色。它们为用户提供了多任务处理能力,使得多个应用程序可以同时运行,并且可以访问各自的资源,同时也为系统提供了更好的资源利用率。
进程还可以在系统崩溃或异常退出的情况下保护系统稳定性,因为它们之间是相互独立的。
进程是一个有灵魂的程序,当程序运行,进程则随之产生。
进程ID号(PID)唯一标识进程
UID,GID和SElinux上下文决定文件系统的存取权限
通常继承执行用户的权限
子进程继承父进程的属性信息
在Linux操作系统中,父子进程是指一个进程创建了另一个新进程,新进程称为子进程,而原始进程称为父进程。
父子进程的工作流程:
父进程创建子进程 > 子进程复制父进程 > 子进程执行新的代码 > 父进程等待子进程结束 > 子进程结束
总之,父子进程的工作流程就是父进程创建出一个子进程,子进程将复制父进程的资源和状态,然后执行新的代码。父进程可以等待子进程结束并获取其退出状态,而子进程则可以在结束前释放自己使用的资源。
父子进程的产生可以有多种原因,其中一些常见的原因包括:
1. 多任务处理:父进程可以创建多个子进程来执行不同的任务,从而实现多任务处理。
2. 模块化设计:将一个复杂的任务拆分成多个模块,每个模块由一个子进程执行,可以提高代码的可读性和可维护性。
3. 安全性:在一些情况下,父进程可能需要将某些任务委托给另一个进程来执行,从而减少风险和提高系统安全性。
在Linux操作系统中,ps指令是一个非常有用的命令,它可以用来列出当前正在运行的进程信息。
ps指令的基本用法是在终端窗口输入"ps"命令,系统将列出当前用户的所有进程信息。
除此之外,ps还支持许多选项及参数:
-a:显示所有进程,包括其他用户的进程和无终端进程。
-u:以用户为基础显示进程信息,包括用户、CPU使用率、内存使用率等等。
-x:显示没有控制终端的进程,如守护进程等。
-e:显示所有进程,与-a选项类似。
-f:显示进程的详细信息,包括进程的UID、PID、PPID、CPU使用率、内存使用率、启动时间、命令等等。
-l:显示进程的详细信息,与-f选项类似,但是包括更多的信息,如进程状态、nice值、进程优先级、进程所在的CPU等等。
--sort:按指定的列对进程进行排序,如按CPU使用率排序。
-o:指定输出的列名,如指定-o pid,user,command可以只显示进程的PID、用户和命令名称。
以下是一些常用选项组合的使用截图:
aux:选项组合
ef选项组合
aol选项组合
--sort用法:--sort选项默认是按升序排列的
如果需要按降序排列,可以在排序列名后加上一个减号“-”
o选项用法
在ps中,有非常多的选项可供我们使用,可以通过help帮助或者man帮助进行查询,在我们的平常使用中,使用最多的则是aux组合与ef组合,下期,将会为大家带来aux组合的详细介绍。