- 什么是进程
- 进程生命周期
- 监控和管理进程
- 静态监控进程
- 动态监控进程
- 信号管理进程
- 后台进程管理
什么是进程
进程是已启动的可执行程序的运行实例,进程有以下组成部分:
- 分配内存, 已分配内存的地址空间
- 安全属性, 进程的运行身份和权限
- 进程代码, 运行一个或多个的线程
- 进程状态, 进程运行后的多种状态
静态程序, 二进制文件, 静态/bin/ls, /usr/sbin/sshd
动态进程, 程序运行的过程, 有生命周期及运行状态
进程的运行环境,包括以下几个部分:
- 局部和全局变量
- 当前的调度上下文
- 分配给进程使用的系统资源,例如文件描述符、网络端口等
- 给进程分配对应的pid,ppid
进程生命周期
程序运行时进程的状态关系:
- 父进程复制自己的地址空间创建新的子进程, 子进程可以继承父进程(ppid)的环境变量
- 每个进程都有自己的唯一ID(PID)
- 进程是由systemd这个父进程派生出来的子进程
- 子进程在运行自己的程序代码的时候, 父进程往往会进入到睡眠状态
- 子进程完成程序代码发出退出信号请求
- 子进程已经关闭或丢弃了其资源环境, 剩余的部分称之为僵停(僵尸Zombie)
- 父进程在子进程退出时收到信号会被唤醒, 清理剩余的结构,然后继续执行其自己的程序代码
监控和管理进程
- 在多任务处理操作系统中,每个CPU(或核心)在一个时间点上只能处理一个进程
- 在进程运行时,它对 CPU时间和资源分配的要求会不断变化,从而为进程分配一个状态,它随着环境要求而改变
静态监控进程
静态查看进程通常使用ps命令
了解进程如下选项:
- PID,PPID
- 当前的进程状态
- 内存的分配情况
- CPU 和已花费的时间
- 用户UID决定进程的特权
[root@liza ~]# ps aux | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 46276 5836 ? Ss Feb27 0:46 /usr/lib/systemd/systemd --system --deserialize 21
USER: //运行进程的用户
PID: /