进程管理
程序:静态没有执行的代码 消耗硬盘空间
进程:动态执行的代码 消耗CPU与内存资源
父进程与子进程 树型结构
进程编号:PID
- pstree查看进程
- 常用命令选项
- -a:显示完整的命令行
- -p:列出对应进程的PID编号
systemd(PID永远为1):所有进程的父进程(上帝进程)
[root@localhost ~]#pstree -p lisi
bash(9609)───vim(9656)
[root@localhost ~]# pstree -a lisi
bash
└─vim haha.txt
[root@localhost ~]# pstree -ap lisi
- ps — Processes Snapshot
- 格式:ps [选项]...
- 常用命令选项
- aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)
- -elf:显示系统内所有进程(-e)、以长格式输出(-l)信息、包括最完整的进程信息(-f)
- ps aux 操作
- 列出正在运行的所有进程,显示进程信息非常详细
用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令
- ps -elf 操作
- 列出正在运行的所有进程,显示进程父进程信息
- PPID为父进程的PID
请计算正在运行的进程有多少个?
[root@localhost ~]# ps aux | wc -l
[root@localhost ~]# ps -elf | wc -l
- top 交互式工具
- 格式:top [-d 刷新秒数] [-U 用户名]
[root@localhost ~]# top -d 1
按大写P进行CPU排序
按大写M进行内存排序
- pgrep — Process Grep
- 用途:pgrep [选项]... 查询条件
- 常用命令选项
- -l:输出进程名,而不仅仅是 PID
- -U:检索指定用户的进程
- -x:精确匹配完整的进程名
]# pgrep -l a
]# pgrep -U lisi
]# pstree -p lisi
]# pgrep -x crond
]# pgrep -lx crond
十、控制进程(进程前后台的调度)
进程的前后台调度
- &符号:正在运行的状态放入后台
- Ctrl + z 组合键
- 挂起当前进程(暂停并转入后台)
- jobs 命令
- 查看后台任务列表
- fg 命令
- 将后台任务恢复到前台运行
- bg 命令
- 激活后台被挂起的任务
[root@localhost ~]# yum -y install xorg-x11-apps
[root@localhost ~]# xeyes
^Z #按Ctrl+z 暂停放入后台
[1]+ 已停止 xeyes
[root@localhost ~]# jobs #查看后台进程信息
[root@localhost ~]# bg 1 #让后台编号为1 的进程继续运行
[root@localhost ~]# jobs #查看后台进程信息
[root@localhost ~]# fg 1 #让后台编号为1 的进程恢复到前台
xeyes
^C #按Ctrl+c 结束