七.Linux中的进程管理

it2025-10-18  8

1.进程定义

进程的定义: 程序是静态的代码文件 进程是指程序运行时的形态 进程是程序的一个副本 进程是有生命周期的(准备期,运行期,终止期)

进程&线程 进程是资源调用的最小单位 线程是进程的最小单位

程序执行流是从上到下贯穿运行的

当进程是多任务,CPU是多核心。多任务应该同时被每个核心处理,每个核心处理的任务叫做线程,线程资源是共享的

#进程状态 #R(TASK_RUNNING) # 可执行状态 (running,ready) #S (TASK_INTRRUPTABLE) #可唤醒休眠 #D (TASK_UNINTRRUPTABLE) #不可唤醒休眠 #T (TASK_STOP)#暂停状态 #Z (EXIT_ZOMBIE) #僵死态

2.进程查看命令

gnome -system-monitor #图形进程查看工具

ps #进程查看 #ps 命令的三种风格 unix bsd GNU

#bsd风格(不带-) #a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的) #x 与终端无关相关的进程 #u 用户信息归类的查看方式 #f 进程层级关系 #o 显示指定参数 pid comm nice pri pcpu ppid stat user group

#Unix风格(带-) #-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 进程状态 #ATART 进程运行时长

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

pidof vim #查看vim的pid

top #动态进程查看状态 #top中的内容显示信息 #13:45:02 系统时间 #up 3:36 运行时长 #1 user 系统中有一个用户登陆 #load average:0.06 0.01 0.02 ------------------1min-5min-15min #TASK: #306 total 任务总量 #3 running 正在运行 #303 sleeping 休眠任务数量 #0 stopped 被暂停数量 #0 zombie 僵死任务数量

#%Cpu(s) #3.7 us 用户空间 #2.0 sy 内核空间 #0.0 ni nice值调整时间 #93.2 id 空闲时间 #0.0 wa 等待io时间 #1.0 hi 处理硬件中断时间 #0.0 si 处理软件中断时间 #0.0 st 被偷走的时间(vm使用时间)

#MiB Mem:1806.1 total 总量 #99.4 free 空闲 #1223.4 used 占用 #483.3 buff/cache 缓存

#MiB Swap:交换分区用量

#top命令的参数 #-d 指定刷新频率 #-b 以批次方式显示 #-n 指定显示的批次数量

#top内部指令 #P cpu排序 #M 内存排序 #T 累计占用CPU时间排序 #l 关闭/开启uptime时间排序 #t 关闭/开启cpu&task #s 指定刷新频率 #k 操作进程 #u 查看指定用户进程

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

S #sleeping < #优先级高 s #顶级进程 T #stop N #优先级低 R #running “+” #运行在前台

4.进程前后台调用

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

5.进程信息号

进程信息 1 #重新加载系统配置文件(source) 2 #清空内存中的进程数据 3 #清空内存中的鼠标(ctrl+\) 9 #强制结束进程 (不能被阻塞) 15 #正常关闭进程 (会被阻塞) 18 #运行被暂停的进程 19 #暂停进程(不会被阻塞) 20 #暂停进程(会被阻塞)

#进程信号控制工具 kill 进程信号控制工具 pid killall 进程信号 进程名称 pkill 进程信号 进程条件

6.systemd守护进程

守护进程 替内核分担程序控管的程序 通常pid为1 systemd ----->systemctl systemctl 管理系统服务 服务指在系统中开启的共享系统资源到网络中的程序 cs client------ server

systemctl命令的用法 start #开启 stop #关闭 status #查看状态 reload #重新加载 restart #重新启动服务 enable #设定服务开机程序 enable --now #设动服务开机启动并当前开启服务 disable #设定服务开启不启动 list-units #查看系统所有服务当前状态 list-unit-files #查看服务开机状态 mask #冻结服务 unmask #解锁

systemctl+命令(例start)+服务名称(例sshd)

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(重启)

最新回复(0)