一、进程与程序的区别
程序:静态代码,存储在硬盘等介质中
进程:程序运行后在CPU及内存中运行的动态代码;父进程与子进程;
二、进程概述
进程名
运行用户
PID(process:进程) 进程唯一标识符
运行的命令
三、查看进程命令
进程查看命令
ps aux,静态显示正在内存中运行的进程信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
用户 进程号 CPU占比 内存占比 虚拟内存 固定内存占用 连接终端 状态 开始时间 进程运行的命令
状态:
S:sleep休眠进程
s:表示有很多子进程,表示父进程
R:正在工作的进程
T:已经停止的进程
Z:僵尸进程,zombie,会占用系统资源,主要占用内存资源
< high-priority (not nice to other users)
N low-priority (nice to other users)
L has pages locked into memory (for real-time and custom IO)
s is a session leader
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group
ps -elf,属于当前登录的所有进程信息
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
标识 状态 用户ID 进程ID 父进程ID CPU 优先权 优先权修正 内存位置 内存占比 -运行 开始时间 终端 占用CPU时间 命令
pgrep ,进程筛选
选项
-o:显示找到的最小进程号
-n:显示找到的最大进程号
-l:显示进程名
-p:指定父进程
-g:指定进程组
-t:指定开启的终端
-u:指定进程有效用户
案例
pgrep -l httpd -u apache
pstree 显示进程树
-a:显示完整信息
-u:显示UID
-p:显示PID号
top,动态显示进程信息
选项
P:根据CPU占用情况显示
M:根据内存占用显示
N:根据启动时间
q:退出
t:切换进程和cpu状态
i:忽略显示僵尸进程
k:终止一个进程
空格:强制更新
说明
top - 19:40:26 up 2:34, 5 users, load average: 0.42, 0.22, 0.16
Tasks: 209 total, 2 running, 207 sleeping, 0 stopped, 0 zombie
%Cpu(s): 14.0 us, 3.8 sy, 0.0 ni, 82.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 997956 total, 73544 free, 732792 used, 191620 buff/cache
KiB Swap: 2097148 total, 1904892 free, 192256 used. 71360 avail Mem
第一行:系统当前时间;已经运行了16天21小时,1个用户登录;系统1/5/15分钟之内的平均负载
第二行:Tasks(总进程数是145);2个正运行的进程;143个睡眠的进程;0个停止;0个僵尸进程
第三行:CPU(用户控件占用CPU的百分比是99.8%),内核占用CPU0.1%;0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比];0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比];
第四行:Mem(内存)总大小是4G;2.4G被使用;1.6G空闲;158M作为内核缓存(buffer:写入缓冲区);
第五行:Swap(交换分区)总大小5G;用了56k;其余闲置;2G作为读取缓存(cached:CPU刚使用的数据);
三、终止进程
终止进程
Ctrl+C #终止前台进程
kill 进程号 #终止后台进程;-u指定用户
kill `pgrep firefox` 不关心进程号直接杀死firefox
kill -9 进程号 #强制杀死
pkill 名字 #按照进程名杀死进程
killall httpd #使用进程名杀死一组进程;-l不区分大小写;-u指定杀死用户的进程
四、前台进程与后台进程
前台进程与后台进程
前台进程:在终端中直接运行的程序,影响当前终端的使用
后台进程:在后端运行的程序,不影响当前终端使用
前台进程切换成后台进程:firefox & [1]+ 运行中 firefox &
jobNumber 状态 进程名
查看切换到后台的进程信息:jobs [-l 显示PID]
后台进程调到前台进程:fg jobNumber
暂停前台进程:Ctrl+z
将暂停进程直接调到后台执行:bg jobNumber