一、进程和线程
1、进程的定义:进程是程序运行时的形态,是程序的一个副本,有生命周期(准备期、运行期、终止期)。
进程和线程:进程是资源调用的最小单位,线程是进程的最小单位。程序执行流是从上倒下贯穿运行的,当进程是多任务,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程,线程资源是共享的。
2、进程的状态:
R 可执行状态
S 可唤醒状态
D 不可唤醒状态
T 暂停状态
Z 僵死状态
二、查看进程的命令
gnome-system-monitor 图形进程查看工具
1、ps命令:进程查看命令,有unix、bsd、GNU三种风格
ps参数:
a 与终端相关的进程
x 与终端无关的进程
f 进程层级关系
u 用户信息归类的查看方式
-e 显示所有进程
-f 显示信息的完整格式
-H 显示进程的层级结构
-o 显示指定的参数
–sort= 排序
ps ax 显示信息:
PID 进程id TTY 进程用到的终端 STAT 进程状态 TIME 进程占用cpu的时间 COMMAND 进程名称
2、pgrep命令:进程过滤
pgrep参数:
-u uid 显示指定用户id进程
-u user 显示指定用户名进程
-t tty 显示指定终端进程
-l 显示进程名称
-a 显示进程的完整名称
-P 显示进程的子进程
3、pidof
pidof 命令/进程名 查看命令的PID
4、top命令
1>top中的内容是显示:
top:系统当前时间、运行时间、系统中的用户登陆数量、系统最近1分钟5分钟15分钟平均负载
task:任务总量、正在运行任务数量、暂停数量、僵死总量
%cpu:用户空间、内核空间、nice值调整时间、空闲时间、等待io时间、处理硬件中断时间、处理软件中断时间、被偷走时间
MiB MeM:总量、空闲、占用、缓存
MiB Swap:交换分区用量
2>top内部命令
P cpu排序
M 内存排序
T 累计统计cpu时间排序
l 关闭开启负载时间
t 关闭开启cpu/task
s 指定刷新时间
k 操作进程
u 查看指定用户进度
3>top进程内容
PID 进程id
USER 进程所有者用户名
PR 优先级
NI nice值
VIRT 进程使用的虚拟内存总量
RES 进程使用的未被换出的物理内存大小
SHR 共享内存大小
S 进程状态
%cpu 上次更新到现在的cpu时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的cpu时间总计
COMMAND 命令名
三、进程优先级
1、系统是多任务多用户的操作模式,任务的重要性是有区别的,使用优先级区分。
优先级的范围:0~139 其中内核自控 :0~99 用户可控:100~139
2、nice值的范围:-20~19
更改优先级:renice -n 进程id
指定优先级打开进程 nice -n 命令名
3、优先级信息:
S sleeping
< 优先级高
s 顶级进程
T stop
N 优先级低
R running
-
运行在前台
四、进程前后台调用
ctrl+Z 把占用shell的进程打入后台挂起
bg 把后台挂起的进程运行起来
fg 把后台进程调回前台
& 运行进程在后台
jobs 查看当前shell中在后台的所有工作
五、进程信息号
1、进程信息号
1 重新加载系统配置文件
2 清空内存中的进程数据
3 清空内存年中的鼠标(ctrl+\)
9 强行结束进程(不能被阻塞)
15 正常关闭进程(会被阻塞)
18 运行被暂停的进程
19 暂停进程(不会被阻塞)
20 暂停进程(会被阻塞)
2、进程信号控制工具
kill 进程信号 pid
killall 进程信号 进程名称
pkill 进程信号 进程条件
六、systemd守护进程
1、守护进程:替内核分担程序控管的程序,常用pid为1
2、systemctl 管理系统服务(服务是指在体系中开启的系统资源网络的程序)
systemctl命令的用法
start 开启
stop 关闭
status 查看状态
reload 重新加载
restart 重新启动服务
enable 设定服务开机启动
enable --now 设定服务开机启动,并当前开启服务
disable 设定服务开机不启动
list-units 查看系统服务当前状态
list-unit-files 查看服务开机状态
list-dependencies 列出服务依赖性
mask 冻结服务
uumask 解锁
set-default 设定系统运行模式
get-default 查看系统运行模式
七、系统中的审计登陆
w 显示正在登陆的系统账号
-i 显示登陆来源
last 显示登陆成功现在已经退出的