Linux—进程管理

1.进程

程序 (program) 是放置在储存媒体中 ( 如硬盘、光盘、软盘、磁带等 ),为实体文件的型态存在。

进程: 程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码 (PID), 可以说,进程就是一个正在运行中的程序。

2.进程的状态

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

3.查看进程

(1)图形中查看进程

鼠标点击左上角的Applications,然后查看里面的System Tools选项,点击里面的System Monitor
在这里插入图片描述
打开进程管理器在这里插入图片描述

(2)用命令查看进程

输入ps查看进程
ps常加参数:

   ps -A   所有进程
    ps -a   在环境中的所有进程,不包含环境信息
    ps -u   显示进程用户信息
    ps a   显示当前环境中运行的进程,包含环境信息
    ps x   列出系统中所有运行包含tty输出设备
    ps f   显示进程的父子关系
    ps e   显示进程的详细信息(系统资源的调用)
    ps l   较长、较详细的将该 PID 的的信息列出

在这里插入图片描述
ps常用的组合参数:

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

显示进程指定信息:
输入ps -o xxx显示进程的指定信息
常用的信息有如下:

comm   进程名称
user   进程所有人
group   进程所有组
%cpu   进程cpu使用率
%mem   进程内存使用率
pid   进程id
nice   进程优先级

在这里插入图片描述
可以看到进程的stat信息中有多个字符,它们的含义分别如下:

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

进程排序:
ps ax --sort=xxx -o xxx (升序排列)
ps ax --sort= - xxx -o xxx (降序排列)
" = "后面跟要排序的信息,-o 后跟要显示的信息
在这里插入图片描述

搜索指定进程
ps -aux | grep 进程关键字
这个命令用于搜索包含关键字的进程

4.进程的优先级

(1)优先级的范围

进程优先级的范围是: -20~19

(2)优先级的查看

进程的信息中有一项nice就是指进程的优先级。
输入watch -n 1 ps -a -o comm,stat,pid,nice可以查看进程的优先级
在这里插入图片描述

(3)设定进程的优先级

  • 输入nice -n 优先级指定优先级
    在这里插入图片描述
    -输入renice -n 优先级 pid指定的pid进程重新设定新的优先级
    在这里插入图片描述

5.如何控制shell中进程的前后台调用

工作管理:工作管理是用在 bash 环境下的 ,当我们登陆系统取得 bash shell 之后 ,在单一终端机接口下同时进行多个工作的行为管理。举例来说 , 我们在登陆 bash 后, 想要一边进行数据搜寻、一边打开浏览器 , 还可以一边进行 vim 程序撰写 。 这个就牵扯到工作的前后台管理。

工作管理的常用命令:

命令 &   使job 在后台运行
ctrl+Z   把已经打开的进程打入后台 , 并且不运行
fg   将后台的 job 调回前台
bg   后台不运行的进程运行起来
jobs   查看当前 bash 的 job
jobs -l   查看当前 bash 的 job,并显示该 job 的状态与 PID

6.进程信号

(1)常用的信号等级

输入man 7 signal查看信号的详细信息
1   在程序不重启的情况下重新加载配置
2   清除指定程序在内存中的数据
3   清除鼠标在内存中的数据
9   强行结束某个进程,不会被阻塞
15   正常关闭某个进程,可能会被阻塞
18   继续运行暂停的进程
19   暂停指定进程,不会被阻塞
20   暂停指定进程,会被阻塞

(2)结束进程的方式

kill -信号 pid
killall -信号 进程名称
pkill -u username -信号   结束某个用户的所有进程
在这里插入图片描述

7.进程的动态监控

输入top可以动态监控进程,查看进程信息
在这里插入图片描述
在该界面中还可以按以下按键执行相应的操作:
s : 修改进程刷新间隔时间
m : 根据内存占有率进行排序
c : 根据 cpu 占有率进行排序
u : 后面输入用户名,用来查看该用户发起的所有进程
k : 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号
q : 退出进程查看界面
h : 显示 top 命令的帮助

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值