Linux之进程管理笔记完整版

本文详细介绍了Linux系统的进程管理,包括进程的状态(RUNNING, SLEEPING, UNINTERRUPTIBLE, STOPPED, ZOMBIE),ps命令的不同风格及其显示信息,如USER, PID, %CPU等。还讲解了进程过滤命令pgrep和top命令的使用,以及进程的优先级(NICE值)和调度。此外,讨论了如何在后台与前台操作进程,守护进程systemd的管理,以及使用systemctl命令。最后,提到了进程信号处理和登录审计的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程的含义

进程(process)是一个静态的文件,是程序的一个副本,其存在生命周期,准备期-运行期-终止期。

进程的状态

状态定义
R(TASK_RUNNING)可执行状态(RUNNING,READING)
S(TASK_INTERRUPTIBLE)可唤醒睡眠状态
D(TASK_UNINTEERUPTIBLE)不可唤醒睡眠状态
T(TASK_STOPPED)暂停状态
Z(EXIT_ZOMBIE)僵死状态

ps命令风格

分为三种:BSD、unix、GUN
BSD风格

	a(显示与终端相关的进程)
	x(显示与终端无关的进程)
	u(以用户未归类信息显示进程状态信息)
	f(层级结构显示进程信息)
	o(显示指定参数的进程信息)

unix风格:

	-e(显示所有进程)
	-f(显示完整格式信息)
	-H(层级结构显示进程相关信息)
	-o(查看指定选项信息)

ps命令显示信息

字段解释
USER用户名称
PID进程id
%CPUCPU用量
%MEM内存用量
VSZ占用虚拟内存大小
RSS常驻内存大小
TTY字符终端
STAT进程状态
START运行时间
TIME占用CPU时间
COMMAND进程名称

在这里插入图片描述
ps排序显示信息
正序命令显示后6行:ps axo pid,comm,%cpu --sort=%cpu | tail -n 6
在这里插入图片描述
逆序显示前6行:ps axo pid,comm,%cpu --sort=-%cpu | head -n 7
clea

进程过滤命令pgrep

	pgrep  显示指定进程信息
		   - u  id号           显示指定用户进程
		   - U name            显示指定用户进程
		   - t tty             显示指定终端进程
		   - l                 显示进程名称
		   - a                 显示完整格式进程名
		   - P pid             显示指定进程的子进程
	pidof   进程名              查看进程id

在这里插入图片描述
在这里插入图片描述

top命令的用法

  - top 
  -		外部参数
  -			-d          显示刷新时间
  -			-b          以批次显示
  -	                -n          显示批次数量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

	- top内部参数
	- 		P                       cpu百分比排序
	- 		M                       内存百分比排序
	- 		T                       累计占用cpu时间
	- 		l                       开启或者关闭uptime信息
	- 		t                       开启或关闭task&cpu信息
	- 		s                       调整刷新频率
	- 		k                       终止进程
	- 		u                       查看指定用户进程 

进程优先级和NICE值

   - 优先级范围:
   - 	对于Linux来说,优先级被划分为固定个数(0-139)
   -    0-99为实时优先级,数字越大优先级越高,系统自己调用。
   -    100-139,为静态优先级,数字越小,优先级越高。
   - NICE值
   - 	 -20-19对应静态优先级
   - 	关于优先级命令
   - 			nice -n 优先级 程序名     (手动设置程序优先级)
   - 			renice -n 优先级 程序pid   (修改优先级)

在这里插入图片描述
在这里插入图片描述

S进程状态
I内存中有锁定空间(休眠时,不回收系统)
N优先级低
<优先级高
+前台运行(正在运行)
s顶级进程
Tstop
S睡眠
RRunning

进程的前后台调用

jobs查看后台任务
ctrl+z将程序打入后台并暂停任务
bg激活后台程序
fg调回程序
&程序运行在后台

在这里插入图片描述

守护进程systemd及systemctl管理命令

守护进程,替内核分担程序管控的程序,通常pid为1
systemctl管理系统服务

	- systemctl  
	- 		参数:start                         ##开启服务
	- 	                  stop                     ##停止服务
	- 			  reload                   ##重新加载服务
	- 			  restart                  ##重启服务
	-                         list-units               ##查看所有服务当前状态
	- 			  list-unit-files          ##查看服务开机状态
	- 			  list-dependencies        ##查看服务依赖性
	- 			  enable                   ##开机自启动服务
	- 			  enable --now             ##开机自启动并且现在就开启服务
	- 			  disable 	           ##开机不自启动服务
	- 			  status                   ##查看服务状态
	- 			  mask                     ##冻结服务
	-                         unmask                   ##解冻
	- 			  set-default              ##设定系统运行模式
	- 					           ##multi-user.target   无图形界面
	- 				                   ##graphical.target    有图形界面
	- 			  get-default              ##查看系统运行模式
	- 					           ##0关机  1单用户root模式 
	-                                                    2-4无图形界面模式  5图形界面模式
	-                                                    6 重启

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程信号和信号命令

可控信号类型 man 7 signal

可控信号含义
1刷新(让进程重新读取配置,相当于systemctl reload)
2清空内存中的进程数据
3ctrl+/暂停鼠标的使用
9强制结束
15正常关闭
18激活进程
19强制暂停进程
20正常暂停

信号命令:

	信号指令:
				kill   信号   pid
				killall 信号 进程名
				pkill   信号 进程名字

系统中的登陆审计

	 - w                 显示正在登陆系统的账号
	 - 					 -i    显示登陆来源
	 - 					 /var/run/utmp
	 - last              登陆成功现在已经退出的
	 - 					 /var/log/wtmp
	 - lastb             试图登录但未成功
	 - 					 /var/log/btmp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Studying!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值