Linux系统的进程管理

进程管理

1. 什么是进程

程序(program)
放置在储存媒体中(如硬盘,光盘,软盘,磁带等),为实体文件的形态存在
进程
程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行中的程序

2.进程状态

R(Running):该程序正在运行中;
S(Sleep):该程序正在睡眠状态(idle),但可以被唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待1/0的情况。
T;停止状态(STOP),可能是在工作控制(背景暂停)或除错(traced)状态;
Z:(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外

3.查看进程

(1)图形方式查看

 gnome-sysem-monitor   ##打开任务管理器

在这里插入图片描述
(2)进程查看命令
ps 查看进程状态
在这里插入图片描述

ps -ashell里运行的程序 ,不包含环境信息(没有环境本身的进程)
ps a当前环境中运行的进程,包含环境信息
ps -A(-e)所有的进程 包含运行环境
ps -d显示 (不常用)
ps x列出系统中所有运行包含tty输出设备
ps e所用到的系统资源
ps ae显示系统的拓展信息
ps -u显示进程的用户
ps f查看进程父子关系(父进程关闭子进程关闭)(孤儿程序受系统的初始化程序控制)

在这里插入图片描述

ps常用组合

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

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

#####kill -9 结束进程
系统初始化进程(不会被关闭 poweroff关机可以关闭)控制一些孤儿进程(父级进程关闭时,一些子级进程不会被关闭)
显示进程指定的信息

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

在这里插入图片描述

4.进程排序

ps ax --sort=+%cpu (升序,+可以省略) / -%cpu(降序) ##按cpu使用率排序
ps ax --sort=+%mem / -%mem(降序) ##按内存使用率排序

例子: 列出系统cpu占用率前五的pid

ps ax -o pid --sort=-%men| head -n6 | tail -n5

##’+'表示正序排列,‘-’表示倒叙排列
在这里插入图片描述

stat中显示的信息
s进程状态
l内存中有锁存空间
N优先级低
<优先级高
+前台运行
s顶级进程
R+正在运行

在这里插入图片描述

5.进程优先级

1.进程优先级的范围
-20~19

进程的优先级(越负,优先级越高)
2.优先级查看

watch -n1 ps a -o stat,comm,pid,nice   #加上监控实时查看

3.指定某个优先级开启进程:nice
nice -n 优先级数字 进程名称
nice -n (5) (pid) 设置进程一开始时的优先级

nice -n -5 vim &    ##开启vim并且指定程序的优先级为-5

在这里插入图片描述
4.改变进程优先级 :renice
renice -n 优先级数字 进程pid
renice -n (5) (pid) 改变进程的优先级

renice -n -5  4073     ##改变4073进程的优先级为-5

在这里插入图片描述

6.环境中进程的前后台调用

+ 表示正在进行的;- 表示次位

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

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

-注意:
有些命令不能在后台运行(例如 vim & ;)
在vim命令窗口下ctrl+z 将vim 打入后台

在这里插入图片描述

7.进程信号

1.常用信号等级

1进程重新加载配置(进程不关闭的情况下重新加在配置)
2删除进程在内存中的数据(不能是锁定的内存(锁定的空间数据被删除进程就会被关闭))(ctrl+c)
3删除鼠标在内存中的数据(ctrl+\)
9强行结束单个进程(不能被阻塞)
15正常关闭进程(可能被阻塞)
18运行暂停的进程
19暂停某个进程(不能被阻塞)
   man 7 signal    ## 查看进程信号详细信息

kill ---->向内核之间发送信号
kill -信号 进程pid
killall -信号 进程名称
pkill -u student -信号

8.进程的动态监控

1.top

1.显示cpu每个核的负载
s调正刷新频率
ccpu负载排序
m内存使用量排序
h查看帮助
u查看指定用户的进程
k对指定进程发起信号
z显示颜色
b高亮显示
q退出

在这里插入图片描述

9.控制服务

1.服务:做了对他人的帮助,对自己没有影响。

2.控制服务
定义:系统中运行的对于系统本身没有意义但是对客户主机有重大意义的程序叫做服务性软件简称服务。

cs模型 : c——client
s——server
当前系统初始化进程
systemd ###系统初始化进程
pstree ###显示系统中的进程树
在这里插入图片描述

3.进程控制命令
ssh------->sshd(远程控制连接的服务)
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-units-files  ##列出所有服务开机启动的状态 disable,enable,static
 systemctl  list-dependencies ##列出服务的依赖

 systemctl  set-default multi-user.target  ##设定系统启动级别为多用户模式(无图形)
 systemctl  set-default graphical.target    ##设定系统启动为图形界面

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值