Linux中的进程管理

1.进程定义 

# 进程的定义
程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的 准备期 运行期 终止期
# 进程 & 线程
进程是资源调用的最小单位
线程是进程的最小单位
程序执行流是从上倒下贯穿运行的
当进程是多任务物 cpu 是多核心 多任务应该同时被每个核心处理 每个核心处理的任务叫线程
线程资源是共享的 .
# 进程状态
#R(TAKS_RUNNING) ## 可执行态 running ready
#S(TASK_INTRRUPTABLE) ## 可唤醒休眠
#D(TASK_UNINTRRUPTABLE) ## 不可唤醒休眠
#T(TASK_STOP) ## 暂停状态
#Z(EXIT_ZOMBIE) ## 僵死态
### 2. 进程查看命令 ###
gnome - system - monitor ## 图形进程查看工具
ps
# 进程查看
#ps 命令的三种执行风格 unix bsd GNU
#a 与终端相关的进程 ( 当用户登陆系统后产生的进程都是带终端的 )
#x 与终端无关相关的进程
#u 用户信息归类的查看方式
#f 进程层级关系
#o 显示指定参数
# pid comm nice pri pcpu ppid stat,user,group
#
# - e 显示所有进程
# - f 显示信息的完整格式
# - H 显示进程的层级结构
# - o 显示指定参数
# -- sort =
#
#ps ax 显示信息如下 :
#PID
进程 id
#TTY
进程用到的终端
#STAT
进程状态
#TIME
进程占用 cpu 时长
#COMMAND 进程名称
#ps aux 显示信息如下 :
#USER
进程所有人 #PID
进程 id
# %CPU
进程使用 cpu 的用量
# %MEM
进程所用到的内存用量
#VSZ
进程使用的虚拟内存大小
#RSS
进程常驻内存中的数据大小
#TTY
进程用到的终端
#STAT
进程状态
#START 进程运行时长
#TIME
进程占用 cpu 时长
#COMMAND
进程名称
pgrep
# 进程过滤
# - u uid
显示指定用户进程
# - U user
显示指定用户进程
# - t tty
显示指定终端进程
# - l
显示进程名称
# - a
显示进程的完整名称
# - P
进程的子进程
pidof vim
## 查看 vim pid
top
## 动态进程查看
##top 中的内容显示信息
#09 : 48 : 51
系统时间
#up 18 : 54
运行时长
# 2 users
系统中有两个用户登陆
#load average : 0.75 , 0.53 , 0.41
1min 5min 15min
#Tasks :
# 331 total 任务总量
# 3 running
正在运行
# 329 sleeping
休眠人物数量
# 0 stopped
被暂停数量
# 0 zombie
僵死人物数量
#
# %Cpu(s)
# 1.5 us
用户空间
# 1.9 sy
内核空间
# 0.0 ni nice 值调整时间
# 58.9 id
空闲时间
# 0.0 wa
等待 io 时间
# 2.1 hi
处理硬件中断时间
# 0.2 si
处理软件中断时间
# 0.0 st
被偷走的时间 vm 使用时间
#
#MiB Mem
# 7664.6 total, 总量
# 5383.9 free
空闲
# 1312.1 used
占用
# 968.8 buff / cache
缓存
#
#MiB Swap :
交换分区用量
#
#top 命令的参数
# - d
指定刷新频率
# - b
以批次方式显示
# - n
指定显示的批次数量
#
#top 内部指令
#P cpu 排序
#M
内存排序 #T
累计展铜 cpu 时间排序
#l
关闭 / 开启 uptime 信息
#t
关闭 / 开启 cpu & task
#s
指定刷新频率
#k
操作进程
#u
查看指定用户进程
#PID 进程 id
#USER 进程所有者的用户名
#PR 优先级
#NI nice 负值表示高优先级 正值表示低优先级
#VIRT 进程使用的虚拟内存总量 单位 kb VIRT = SWAP + RES
#RES 进程使用的 未被换出的物理内存大小 单位 kb RES = CODE + DATA
#SHR 共享内存大小 单位 kb
#S 进程状态 (D = 不可中断的睡眠状态 ,R = 运行 ,S = 睡眠 ,T = 跟踪 / 停止 ,Z = 僵尸进
)
# %CPU 上次更新到现在的 CPU 时间占用百分比
# %MEM 进程使用的物理内存百分比
#TIME + 进程使用的 CPU 时间总计 单位 1 / 100
#COMMAND 命令名 / 命令行
### 3. 进程优先级 ###
系统时多任务多用户的操作模式
任务的重要性是有区分的
如何确定任务的重要性
优先级
范围 0 -- 139
内核自控优先级范围 0 - 99
用户可控优先级 100 - 139
nice
- 20 - 19
renice - n - 5 43331
## 更改优先级
nice - n - 5 cat ## 指定优先级打开进程
ps ax - o pid,nice,comm | grep cat
ps ---- > pri --- 39 - 0
nice 20 - 19
priority 0 - 139 ( 100 - 139 )
S #sleeping
<
# 优先级高
s # 顶级进程
T #stop
N # 优先级底
R #running
+
# 运行在前台
### 4. 进程前后台调用 ###
< ctrl >+< z >
## 把占用 shell 的进程打入后台挂起
bg ## 把后台挂起的进程运行起来
fg ## 把后台进程调回前台
&
## 运行进程在后台
jobs ## 查看当前 shell 中在后台的所有工作 ### 5. 进程信息号 ###
man 7 signal
# 进程信号
1
# 重新家在系统配置文件 (source)
2
# 清空内存中的进程数据
3
# 清空内存中的鼠标 (ctrl +\ )
9
# 强行结束进程 不能被阻塞
15
# 正常关闭进程 会被阻塞
18
# 运行被暂停的进程
19
# 暂停进程 不会被阻塞
20
# 暂停进程 会被阻塞的
# 进程信号控制工具
kill
进程信号 pid
killall 进程信号 进程名字
pkill
进程信号 进程条件
### 6. systemd 守护进程 ###
## 实验环境
#linux.westos.com -------- > 172.25.254.10
#node1.westos.com ----------> 172.25.254.20
#
# 远程操作主机
#ssh 远程主机 ip - l 远程主机用户
# 守护进程
# 替内核分担程序控管的程序
# 通常 pid 1
#systemd -----> systemctl
#systemctl 管理系统服务
# 服务指在系统中开启的共享系统资源到网络中的程序
#cs client ------ server
#
#systemctl 命令的用法
start
## 开启
stop
## 关闭
status
## 查看状态
reload
## 重新加载
restart
## 重新启动服务
enable
## 设定服务开机启动
enable -- now ## 设定服务开机启动并当前开启服务
disable
## 设定服务开启不其动
list - units ## 查看系统所有服务当前状态
list - unit - files ## 查看服务开机状态
list - dependencies ## 列出服务依赖性
mask
## 冻结服务
unmask
## 解锁
set - default ## 设定系统运行模式
#multi - user.target 无图形网络模式
#graphical.target 有图形的网络模式
get - default ## 查看系统运行模式
## 系统运行模式
# 0 - 6
# 0
POWEROFF
# 1
single
# 2
noG + NETWORK
# 3
# 4 # 5
G + NETWORK
# 6
REBOOT
### 7. 系统中的登陆审计 ###
w ## 显示正在登陆系统的账号
## - i
显示登陆来源
# / var / run / utmp
last ## 登陆成功现在已经退出的
## / var / log / wtmp
lastb ## 试图登陆但未成功
## / var / log / btmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值