【Linux最强学习笔记7】Linux进程管理

1.进程

1.1.进程的定义

  • 程序:静态的代码文件
  • 进程:
    1. 程序运行时的形态
    2. 程序的一个副本
    3. 有生命周期(准备期,运行期,终止期)

1.2.进程&线程

  • 进程:资源调用的最小单位
  • 线程:进程的最小单位

程序执行流是从上到下贯穿运行;
当进程是多任务、CPU是多核心时,多任务应该同时被每个核心处理,每个核心处理的任务叫线程;
线程资源是共享的;

1.3.进程的状态

R(TASK_RUNNING)可执行态(running,ready)
S(TASK_INTRRUPTABLE)可唤醒休眠
D(TASK_UNINTRRRUPTABLE)不可唤醒休眠
T(TASK_STOP)暂停状态
Z(EXIT_ZOBIE)僵死态

2.进程查看命令

2.1.图形进程查看工具:gnome-system-monitor

2.2.进程查看: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进程名称

2.3.进程过滤:pgrep

-u uid显示指定用户进程
-U user显示指定用户进程
-t tty显示指定用终端进程
-l显示进程名称
-a显示进程的完整名称
-P显示进程的子进程

2.4.查看vim的pid:pidof vim

2.5.动态进程查看:top

  • top中的内容显示信息
09:48:51系统时间
up 18:53运行时长
2 users系统中有两个用户登录
load average: 0.75,0.53,0.41
  • Tasks:
331 total任务总量
3 running正在运行
329 sleeping休眠人物数量
0 stopped被暂停数量
0 zombie僵死人物数量
  • %CPU
1.5 us用户空间
1.9 sy内核空间
0.0 ninice值调整空间
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指定刷新频率(默认3s)
-b以批次方式显示
-n指定显示的批次数量
  • top内部指令
PCPU排序
M内存排序
T累计占用CPU时间排序
l关闭/开启uptime信息
t关闭/开启CPU&task
s指定刷新频率
k操作进程
u查看指定用户进程
内容:
PID进程id
USER进程所有者的用户名
PR优先级
NInice值(负值表示高优先级;正表示低优先级)
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 ---> 0-39
nice			20-19
priority		0-139(100-139)
Ssleeping
<优先级高
s顶级进程
Tstop
N优先级低
Rrunning
+运行在前台

4.进程前后台调用

+把占用shell的进程打入后台挂起
bg把后台挂起的进程运行起来
fg把后台进程调回前台
&运行进程在后台
jobs查看当前shell中在后台的所有工作
  • 示例:

5.进程信号

  • 进程信号
1重新加载系统配置文件
2清空内存中的进程数据
3清空内存中的鼠标(+<\>)
9强行结束进程(不被阻塞)
15正常关闭进程(会被阻塞)
18运行被暂停的进程
19暂停进程
20暂停进程
  • 进程信号控制工具
    kill 进程信号 pid
    killall 进程信号 进程名称
    pkill 进程信号 进程条件

6.systemd守护进程

  • 实验环境:两台主机

  • 远程操作主机:ssh 远程主机IP -l 远程主机用户

  • 守护进程
    (替内核分担程序控管的程序;通常pid为1)

systemd ---> systemctl
systemctl	管理系统服务
			(服务:指在系统中开启的共享系统资源到网络中的1程序)

cs			client  ---  server
  • systemctl:管理系统服务 用法:
start开启
stop关闭
status查看状态
reload重新加载
restart重新启动服务
enable设定服务开机启动
enable --now设定服务开机启动并当前开启服务
disable设定服务开机不启动
disable --now设定服务开机不启动并当前关闭服务
list-units查看系统所有服务当前状态
list-unit-files查看服务开机状态
list-dependencies列出服务依赖性
mask冻结服务
unmask解锁
set-default设定系统运行模式multi-user.target
无图形网络模式 3
graphical.target
有图形网络模式 5
get-default查看系统运行模式
  • 系统运行模式(0-6)
0PowerOff
1single-单用户模式
2noG+NETWORK -多用户模式,无NFS
3命令行模式 无桌面程序( init 3 )
4暂时没有被使用
5G+NETWORK ( init 5 )
6REBOOT-重启模式(init 6)
  • 示例:

7.系统中的登陆审计

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值