Linux系统中的进程管理

Linux系统中的进程管理

  1. 什么是进程?

程序:通常为二进制程序放置在存储媒介中(如硬盘、光盘、软盘、磁盘等),以物理文件的形式存在;
进程:程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存中,操作系统并给予这个内存内的单元一个标识符(PID),可以说,进程就是一个正在运行中的程序。

2.查看进程
(1)图形方式查看
在这里插入图片描述
(2)进程查看命令

ps -A查看所有进程
ps -a在环境中的所有进程,不包含环境信息
ps -u显示进程用户信息
ps a显示当前环境中运行的进程,包含环境信息
ps x列出系统中所有运行包含tty输出设备
ps f显示进程父子关系
ps e显示进程的详细信息(系统资源的调用)
ps -l只查看自己的bash相关进程

ps 常用组合

ps aux显示系统中所有进程并显示进程用户
ps ef显示进程详细信息并显示进程父子关系
ps ax显示当前系统中的所有进程
pstree显示当前系统的进程树

在这里插入图片描述
ps aux显示的项目中各字段的意义
USER:该进程所属用户;
PID:该进程的进程标识符;
%CPU:该进程使用掉的CPU资源百分比;
%MEM:该进程所占用的物理内存百分比;
VSZ:该进程使用掉的虚拟内存量(KB);
RSS:该进程占用的固定的内存量(KB);
TTY:该进程是在那个终端机上面运行,若与终端机无关则显示?另外,tty1~tty6是本机上面的登陆者程序,若为pts/0等的,则表示为由网络连接进主机的进程;
STAT:该进程目前的状态,状态显示在下文中介绍;
START:该进程被触发启动的时间;
TIME:该进程实际使用CPU运行的时间;
COMMAND:该进程的实际命令。

显示进程指定信息

ps -o xxx显示进程的指定信息
ps -o comm进程名称
ps -o user进程所有人
ps -o group进程所有组
ps -o %cpu进程cpu使用率
ps -o %mem进程内存使用率
ps -o pid进程id
ps -o nice进程优先级

示例:
在这里插入图片描述
进程排序
ps ax --sort=+%cpu|-%cpu
ps ax --sort=+%mem|-%-mem

练习
用一条命令抓取系统cpu使用量排在前五的pid
在这里插入图片描述
stat中显示的信息

S进程状态
l内存中有锁定空间
N优先级低
<优先级高
“+”前台运行
s顶级进程

进程优先级
1.进程优先级范围
-20——19
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n 5 vim ##开启vim并且指定程序优先级为5
4.改变进程优先级
renice -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5

示例
在这里插入图片描述
环境中进程的前后台调用

jobs查看被打入环境后台的进程
ctrl+z把占用终端的进程打入后台
fg jobsnum把后台进程调回前台
bg jobsnum把后台暂停的进程运行
comm &让命令直接在后台运行

在这里插入图片描述
5.进程信号
(1)常用信号等级
man 7 signal #查看信号详细信息

1进程重新加载配置
2删除进程在内存中的设置
3删除鼠标在内存中的数据
9强行结束单个进程(不能被阻塞)
15正常关闭进程(可能会被阻塞)
18运行暂停的进程
19暂停某个进程(不能被阻塞)
20把进程打入后台(可以被阻塞)

kill -2 (在另一个shell中进行,相当于ctr+c)

用法:
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号 #管理student用户的进程

6.进程的动态监控
top
在这里插入图片描述

1显示cpu每个CPU核的负载
s调整刷新频率
cCPU负载排序
m内存使用量排序
h查看帮助
u查看指定用户进程

k 对指定进程发起信号 先输入pid 后输入对应信号
在这里插入图片描述
q 退出

7.控制服务
(1)什么是服务
服务指在操作系统中,用以支持各种功能的程序.

(2)用什么控制服务
系统初始化进程可以对服务进行相应的控制

(3)当前系统初始化进程是什么
systemd #系统初始化进程
pstree #显示系统中的进程树

4.进程控制命令
ssh ------->sshd
client ------->server

systemctl服务控制命令
systemctl status sshd查看服务状态,inactive(不可用),active(可用)
systemctl start sshd开启服务
systemctl stop sshd关闭服务
systemctl restart sshd重启服务
systemctl reload sshd重新加载服务配置
systemctl enable sshd设定服务开机启动
systemctl disable sshd设定服务开机不启动
systemctl list-units列出已经开启服务当前状态
systemctl list-unit-files列出所有服务开机启动的状态 disable enable static

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值