linux进程管理
进程管理
程序:静态没有执行的代码 硬盘空间 汽车
进程:动态执行的代码 CPU与内存资源 奔跑的汽车
父进程与子进程 树型结构
进程编号:PID
u pstree查看进程
• 常用命令选项
– -a:显示完整的命令行
– -p:列出对应进程的PID编号
systemd(PID永远为1):所有进程的父进程(上帝进程)
[root@localhost ~]# pstree [root@localhost ~]# pstree -p
[root@localhost ~]#pstree -p lisi bash(9609)───vim(9656) [root@localhost ~]# pstree -a lisi bash └─vim haha.txt [root@localhost ~]# pstree -ap lisi
u ps — Processes Snapshot
– 格式:ps [选项]...
• 常用命令选项
– aux:显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)
– -elf:显示系统内所有进程(-e)、以长格式输出(-l)信息、包括最完整的进程信息(-f)
• ps aux 操作
– 列出正在运行的所有进程,显示进程信息非常详细
用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令
• ps -elf 操作
– 列出正在运行的所有进程,显示进程父进程信息
– PPID为父进程的PID
请计算正在运行的进程有多少个?
[root@localhost ~]# wc -l /etc/passwd [root@localhost ~]# ps aux | wc -l [root@localhost ~]# ps -elf | wc -l
u top 交互式工具
– 格式:top [-d 刷新秒数] [-U 用户名]
[root@localhost ~]# top -d 1
按大写P进行CPU排序
按大写M进行内存排序
u 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 结束