1.什么是进程
程序放置在储存媒体中如硬盘,光盘,软盘,磁带等,为实体文件的形态存在
进程:程序被触发后执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(pid),进程就是一个正在运行的程序
2.进程的状态
R 正在运行
S 正在睡眠状态,但可以被唤醒
D 不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况
T 停止状态,可能是在工作控制(背景暂停)或除错状态
Z 僵尸状态,程序已经终止但无法被移至内存外

3.查看进程
(1)图形方式查看
gnome-system-monitor

打开后如下:

(2)进程查看命令
ps 查看当前环境的进程
-A 表示所有进程

x表示有字符设备的所有进程,即有输出界面的进程

-a 当前环境中的进程,忽略环境本身

a 跟当前环境(shell)相关的所有的进程,包括背景,最全的

-u 显示进程的归属,进程所有人

f 查看进程的从属关系,有窗口的进程结束父进程子进程会自动结束

###pstree查看系统的进程树
e 显示进程消耗的资源

l 较长,较详细的将该pid的信息列出

<1>常用组合
ps aux 显示系统中所有进程并显示进程用户

ps ef 显示进程详细信息并显示进程父子关系

ps ax 显示当前系统中的所有进程

pstree 显示当前系统的进程树

<2>显示进程指定信息
ps -o comm进程名称

user进程所有人

group进程所有组

%cpu进程cpu使用率

%mem进程内存使用率

pid 进程id

nice 进程优先级(0 表示normal 普通,nice 优先级越负越高)

注:以上参数可以混合使用,使用多个参数时用,隔开

4.进程排序倒序
+正序,可以不加+,默认是正序
ps ax --sort=-%cpu cpu使用量倒序

(+)%cpu cpu使用量正序

-%mem 内存使用量倒序

( +)%mem 内存使用量正序

例:查看系统内存占用量前五的进程的pid

5.nice 优先级
优先级的范围是-20~19
优先级越负越高
优先级的级别有以下几种:

##0 表示normal 普通
<1>gedit & 表示后台运行这个进程,否则会占用命令行
例: nice -n 5 gedit & 启动时设置进程的优先级为5,再查看进程

<2>改变已经启动的进程的优先级
renice -n 优先级数字 pid
例:先后台打开一个进程,重新设定优先级,设定后系统会提示这个进程的原来的优先级和现在的优先级

6.ps ax -o comm,pid,stat 查看进程的状态信息

S 进程状态 (后面有以下参数)
l 进程状态内存中有所定空间
N 优先级低
< 优先级高
‘+’ 前台运行
s 顶级进程
R+ 表示正在运行
锁定空间 还没保存时不被回收的内存空间
在休眠状态下内存是共享的

7.环境中进程的前后台调用
& 让进程开启的时候被打入后台
例:创建一个gedit进程并把它打入后台,此时命令行是可以用的

crtl+z    将正在运行(正在占用终端)的进程打入后台,操作后该进程暂停工作
bg        把后台暂停的进程运行起来  ##bg 调用后进程的默认符号会改变
jobs      查看被打入后台的进程   ##- 表示次默认  +表示默认##  +优先级高于-,没有符号表示没有优先级
fg        把后台进程调回前台,直接再次运行

例:<1>创建两个进程,并用jobs查看,后创建的进程默认级别较高

<2>bg调用进程,没有指定的情况下默认调用前面是+的进程,这时默认级别不会发生改变

<3>bg 1 调用进程[1] ,这个进程的默认级别会发生改变,再次jobs查看发现两个进程的默认级别发生改变

<4>再创建一个进程打入后台,jobs查看新创建的进程默认级别最高,原来级别低的进程现在没有了级别(之前的进程默认级别自动减一级)

<5>bg调用有默认级别的两个进程时没有级别的进程不会受影响,直到bg调用没有级别的进程时三个进程的默认级别才会都发生改变

<6>bg 2调用之前没有默认级别的进程,他的级别由没有变成了+,jobs查看后其他两个进程的级别在原基础上减一级

<7>fg 会调用默认级别最高的进程直接运行,他后面也可以加数字指定其他后台运行的进程

5.进程信号
信号是一个标识
kill -信号 pid
1 进程重新加载配置##在进程不被关闭的情况下更改配置,热更新
kill -2 pid 删除进程在内存中的数据(如 字符设备,锁定空间)
例:先后台运行一个进程gedit,执行ps ax |grep gedit 命令得到gedit进程的信息

打开另一个shell,执行kill -2 3672 删除该进程的锁定空间,并再次执行ps ax |grep gedit 命令查看他的信息

3 = crtl+\ 删除鼠标在内存中的数据(删除之后当前shell中的光标会消失,直到再次移动鼠标又会出现)
9 强行结束单个进程 (不能被阻塞)
15 正常结束进程 (可以被阻塞)
例:ps查看当前环境下的进程,kill -15 pid 结束当前shell,执行后该命令被阻塞

在另一个shell中执行kill -9 pid 执行后shell被关闭

执行后结果如下:

18 运行暂停的进程
19 不能被阻塞
20 可以被阻塞(第三方软件不会被阻塞)

例:
<1>注:该实验的gedit必须是在图形界面中打开的

<2>查看gedit进程的pid

<3>在gedit中输入内容

<4>执行 kill -20 4075 命令,执行后点击gedit,还可以继续编辑


<5>执行kill -19 pid命令,再次点击是不可以编辑的


<6>执行kill -18 pid 命令继续运行暂停的进程,刚刚暂停时的操作会显示到文件中(lala是刚刚暂停后输入的内容)

killall -信号 进程名 可以管理所有名为##的进程,方便管理
kill -信号 进程id 管理准确
pkill -u student -信号 对属于student用户的进程作相应的操作
pkill 按照一定的条件去操作
例:切换到student用户下,创建一个vim进程,在另一个shell中查看跟student有关的进程

执行pkill -u username -信号命令,如图执行后student创建的所有进程被结束,再次查看没有跟student有关的进程

6.进程的动态监控
top
1 显示cpu每个核的负载
s 调整刷新频率
c cpu负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
q 退出
例:执行top命令,出现以下界面

在当前界面按s,改变刷新频率

按1,显示CPU每个核的负载


按h,查看帮助

按u 查看指定用户的进程
<1>在另一个shell中切换到student用户创建一个进程,在top下按u,输入student


<2>执行后如下

Linux系统中进程的查看及控制相关推荐

  1. 用户管理 之 Linux 系统中的超级权限的控制

    作者:北南南北 赞助: eTony,pandonny,懒猫, Arch 来自:LinuxSir.Org 摘要: 超级用户是系统最高权限的拥有者,是系统管理唯一的胜任者:由于权限的超级并且达到无所不能的 ...

  2. linux查找用户前三进程_查看 Linux 系统中进程和用户的内存使用情况 | Linux 中国...

    有一些命令可以用来检查 Linux 系统中的内存使用情况,下面是一些更好的命令.-- Sandra Henry-stocker 有许多工具可以查看 Linux 系统中的内存使用情况.一些命令被广泛使用 ...

  3. LINUX系统中进程如何管理控制(一)

    上篇文章详细介绍了LINUX命令程序通过获取SHELL环境中的数据(此处的数据通常称为环境变量)来输出本机相应的配置数据,从而掌握在LINUX中SHELL环境的搭建技巧.那么,今天,这篇文章主要围绕l ...

  4. Linux 系统中的超级权限的控制

      在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户.   在系统中,每个文件.目录和进程,都归属于某 ...

  5. linux中进程unit是什么意思,Linux系统之进程及服务的控制

    ??系统中正在运行的程序. 2.图形的进程查看方式 ??gnome-system-monitor 3.查看进程的命令 ??whatis?ps 3.1ps ??查看进程 3.2ps?a ??查看与当前环 ...

  6. 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量

    uboot下可以通过命令访问(printenv)和修改环境变量(setenv),但是如果需要在Linux系统下访问这些数据该怎么办呢?其实uboot早就帮我们想好了.  1.编译fw_printenv ...

  7. linux用户的邮件存在哪里,在Linux系统中收发及查看邮件

    系统收到邮件都会保存在"/var/spool/mail/[linux用户名]"文件中. 在linux中输入mail,就进行了收件箱,并显示二十封邮件列表. 此时命令提示符为&quo ...

  8. linux scp控制带宽,Linux系统中安装使用Trickle来控制用户带宽

    1. trickle介绍trickle是一款轻量级的用户空间带宽控制管理的工具,用来限制如浏览器Firefox等, FTP , SSH,curl,wget,scp等等使用网络带宽. trickle通过 ...

  9. linux中关于防火墙的命令,Linux系统中查看防火墙的命令详解

    Linux系统中如果要查看到防火墙的状态信息要怎么办呢?下面由学习啦小编为大家整理了Linux系统中查看防火墙的命令详解,希望对大家有帮助! Linux系统中查看防火墙的命令详解:一.service方 ...

最新文章

  1. powerbuilder 保存图表图像_数据可视化/统计图表循序渐进指南
  2. linux文件系统pdf_一篇文章理解Ext4文件系统的目录
  3. Android开发:关于Android Settings中的八个问题
  4. 漫画 | 程序员的悲哀是什么?
  5. 插入排序java_「Java」各类排序算法
  6. C++:MAC安装Boost库文件并且使用CLion开发
  7. Connection to @localhost failed. [08001] Could not create connection to database server. Attempt
  8. 华为switch上配置MSTP
  9. H5上传文件又双叒叕开测了!
  10. 使用plsql管理oracle数据库连接,使用PLSQL连接远程oracle数据库
  11. 雪亮工程视频点位地图采集
  12. 基于博弈论的诱饵路由设计及实现
  13. matlab 坐标系转换矩阵,坐标系转换矩阵生成
  14. position与清除浮动
  15. 二十一世纪大学英语读写教程(第三册)学习笔记(原文)——5 - America Seen with European Eyes(概说美国——欧洲人眼中的美国)
  16. Centos6.6下编译安装Apache2.2.31
  17. 麦当劳可以免费添加可乐的!
  18. 基于openstack安装部署私有云详细图文教程
  19. 一文看懂WebRTC媒体服务器
  20. SAP PP配置详解之五:生产计划编制

热门文章

  1. 人脸识别用哪种python库_python的face_recognition人脸识别库的使用
  2. MVZ2Android,植物大战僵尸mvz2
  3. mybatis test把空字符串解析为0
  4. 【观察】中国跨境电商出海再加速背后,如何破解行业同质化竞争困局?
  5. 拼多多API—获取商品详情、关键词获取取商品、获得搜索词统计获得搜索词推荐
  6. 婴儿用品的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. GameFramework篇:AssetsBundle Tools配置
  8. 离职总结(2022-9-5)
  9. ArcEngine实现色带下拉框
  10. 电脑打不开html网页,电脑网页打不开怎么回事