进程的管理
进程--主要指在内存中运行的程序
ps--prosess show 查看当前终端中的进程
ps命令执行的结果如下
PID--进程的编号
TTY--终端的次要装置号码
TIME--消耗CPU的时间
CMD-- 具体的命令以及参数
ps - aux | more
表示显示所有包括其他使用者的进程 more 分屏显示
USER 属主信息
PID 进程号
%CPU 占用CPU的百分比
%MEM 占用内存的百分比
VSZ 虚拟内存的大小
RSS物理内存的大小
TTY终端的次要装置号码
STAT进程的启动时间
TIME 消耗CPU的时间
COMMAND具体的进程名称以及选项
进程的常见状态主要有
S休眠状态
s进程的领导者(表示拥有子进程)
Z僵尸进程(进程已结束,资源没有回收)
R正在运行的进程
O可运行的状态
T挂起状态
<优先级高的进程
N优先级低的进程
。。。。
ps - ef 表示使用全格式的方式显示进程的信息
ps - ef | more 表示分屏显示进程的信息
PID进程号
PPID父进程的进程号
目前主流的操作系统都支持多进程,如果进程A启动了进程B,那么进程A叫做进程B的父进程。。。
操作系统的多进程组成树型结构,其中进程0是系统内部的进程负责启动进程1(init进程)和进程2,其他所有的进程都是由进程1/2直接或间接的启动
各种ID 的获取
PID进程号,是进程在操作系统中的唯一标识
进程号的分配采用延迟重用的策略进行的,在每一个时刻都可以保证进程号唯一
getpid()主要用于获取当前进程的进程号
getppid ()主要用于获取当前进程的父进程的进程号
getuid()主要用于获取用户的ID
getgid ()主要用于获取用户所在用户组的ID
fork函数
主要用于复制正在运行的进程方式来创建新的进程,其中新进程叫做子进程,正在运行的进程叫做父进程