Linux之系统进程及控制

2023-11-13

一、什么是进程?

进程就是系统未完成并且正在进行的工作。

二、查看系统进程

1、图形方式查看

gnome-system-monitor

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

2、进程查看命令

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

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

ps aux		##显示系统中所有进程并显示进程用户

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

pstree		##显示当前系统的进程树

在这里插入图片描述
那么,我们如何根据自己的需要让每个进程显示指定的信息呢?别急,接下来就告诉你!

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

示例:

ps -o comm,user,pid,%cpu

在这里插入图片描述

3、进程排序

ps ax --sort=
			  +%cpu|-%cpu	##按cpu占用率从小到大|从大到小排序
			  +%mem|-%mem	##按内存使用率 从小到大排序|从大到小排序

示例:
在这里插入图片描述
在这里插入图片描述

4、在stat进程状态中显示的信息

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

示例:

此进程的进程状态为高优先级的顶级进程,并且内存中有锁定空间。
在这里插入图片描述
此进程的进程状态为低优先级进程的顶级进程,并且内存中有锁定空间。

有锁定空间的进程可以理解为该进程进入后台后,其他进程不能占用该进程使用的内存。

5、进程优先级

优先级概念:

  • CPU资源分配的先后顺序,就是进程的优先权
  • 优先权高的进程有优先执行的权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。
  • 还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统的整体性能。

1、进程的优先级范围

-20~19
数字越小,进程优先级越高。

2、优先级的查看

ps ax -o pid,nice,comm

在这里插入图片描述

3、指定某个优先级开启进程

nice -n 优先级数字 进程名称

示例:

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

在这里插入图片描述
**注意:**nice指定优先级只对设定后新开启的进程有效,对设定前开启的进程无效。

4、改变进程优先级

renice -n 优先级数字 进程pid

示例:
准备工作:

ps a -o nice,comm,pid

在这里插入图片描述

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

在这里插入图片描述
注意:
nice与renice不同在于前者只对新产生的进程有效,而后者也可以改变已存在进程的优先级。

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

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

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

7、进程信号

1、常用的信号等级

kill -信号等级 进程id

1		##进程重新加载配置

进程重新加载配置,指的是在进程不停止的情况下重新加载进程的配置文件信息,类似于游戏里面的“不停服更新“

2		##删除进程在内存中的数据
3		##删除鼠标在内存中的数据

解释:
对于删除进程在内存中的数据,如果该进程有锁定空间,那么删除进程在内存中的数据,相当于关掉这个进程。如果进程没有锁定空间,那么只是释放了该进程原占有的内存。

9		##强行结束单个进程(不能被阻塞)
15		##正常关闭进程	 (可能会被阻塞)	

分析:kill -9 为强行结束单个进程,不管该进程的优先级高不高。而kill -15 是正常关闭进程,一般对第三方软件可以正常关闭,但是对于优先级较高的进程,则可能被阻塞,不能关闭。
示例;
准备工作
在这里插入图片描述
在这里插入图片描述分析:用kill -15 关掉一个shell被阻塞了,shell并没有关掉。
在这里插入图片描述
分析:用kill -15关掉firefox成功了。
在这里插入图片描述
分析:用kill -15 关掉一个shell被阻塞了,用kill -9 成功杀死了这个shell进程。

18		##运行暂停的进程
19		##暂停某个进程	 (不能被阻塞)
20		##把进程打入后台 (打入后台同时会暂停) (可以被阻塞)

在这里插入图片描述
在这里插入图片描述
更多的进程信号等级可以查看:
man 7 signal ##查看信号详细信息

killall -信号	进程名字

在这里插入图片描述

pkill	-u student -信号

在这里插入图片描述

8、进程的动态监控

top
	1	##显示cpu每个核的负载
	s	##调整刷新频率
	c	##cpu负载排序
	m	##内存使用量排序
	h	##查看帮助
	u	##查看指定用户进程
	k	##对指定进程发起信号
	q	##退出

显示cpu每个核的负载:
在这里插入图片描述

调整刷新频率:
在这里插入图片描述
按cpu负载排序:
在这里插入图片描述
按内存使用量排序:
在这里插入图片描述
查看帮助:
在这里插入图片描述

查看指定用户进程:
在这里插入图片描述
在这里插入图片描述
对指定进程发起信号:
在这里插入图片描述
输入要控制进程的pid
在这里插入图片描述
输入信号等级,图为9。结束vim进程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux之系统进程及控制 的相关文章

随机推荐

  • mssql sqlserver 获取指定日期为本月第几个工作日

    转自 https www cnblogs com lairui1232000 p 9286104 html 摘要 下文讲述工作中 需要获取指定日期在当月的工作日 下文讲述常规的指定工作日所在月的天数分析 实现思路 1 生成一个国家法定假日表
  • C#的笔记属性索引器,委托事件,泛型集合,异常捕捉

    C 有一些与其他语言C Java不同的特性这里特别记一下 他们大部分基本的内容是相同的 C 有属性索引器 委托事件 泛型集合 trycatchfinally异常捕捉 属性Property 属性时一种很像字段的方法 他有getset访问器 使
  • 高并发高可用(二)架构

    4 大型网站架构模式 模式词汇来源于建筑学 定义 每个模式描述一个在我们周围不断重复发生发生的问题及该问题解决方案的核心 这样你就能一次又一次使用该方案而不必做重复的工作 为解决大型网站所遇到的高并发访问 海量数据处理 高可用运行等系列问题
  • MySQL的预读机制

    一 预读机制 InnoDB在I O的优化上有个比较重要的特性为预读 预读请求是一个i o请求 它会异步地在缓冲池中预先回迁多个页面 预计很快就会需要这些页面 这些请求在一个范围内引入所有页面 InnoDB以64个page为一个extent
  • 网上书店管理系统 课程设计

    数据库原理及应用 综合设计报告 第一章 绪论 随着计算机技术的发展以及计算机网络的逐渐普及 因特网成为了人们查找信息的重要场所 二十一世纪是信息的时代 所以信息的交换和信息的流通就显得特别的重要 因此网上书店的出现成为必然 实体书店在正常运
  • pytorch 入门 DenseNet

    知识点0 dense block的结构 知识点1 定义dense block 知识点2 定义DenseNet的主体 知识点3 add module 知识点 densenet是由 多个这种结构串联而成的 import torch import
  • Retrofit2 使用@Multipart上传文件

    1 上传单个文件 1 1定义接口 Multipart POST uploadImgs Call
  • Laravel5.6 实现小程序使用openid登陆、手机号验证码登陆、账户密码登陆三种登陆方式

    我的个人博客 逐步前行STEP 目前开发小程序 按需求要实现3种登陆方式 1 微信授权登陆 2 账户密码登陆 3 手机号 验证码登陆 我使用laravel自带的Auth认证机制 通过attempt方法进行账户验证 但是默认的认证机制必须包含
  • YOLOv6网络结构详解

    网络结构 根据官方代码使用Drawio绘制的YOLOv6 s网络结构图 官方资源 美团技术团队对于YOLOv6的介绍 文章 文章 文章 论文地址 YOLOv6 A Single Stage Object Detection Framewor
  • Java基础——大杂烩

    今天阿Q给大家来一节大杂烩 讲一下专题性不强的java基础知识 main方法详解 public static void main String args 这里面只有args能改变 public 被jvm调用 访问权限足够大 static 被
  • 记一次结构体字节对齐引起的严重问题

    头文件自定义了bool类型 4个字节 ifndef bool define bool int define true 1 define false 0 endif typedef struct bool automaticActivatio
  • 微信小程序消息订阅的实现——后端是nodejs的koa框架

    在做毕设中 我遇到这么一个使用场景 当顾客购买某个商家的商品后 那这个商家应该要收到通知信息 提示你家商品被购买了 故有了以下代码 微信小程序js代码 onSubmit function 用户点击确认支付 用户应该点击允许 同意提醒信息订阅
  • window 7 平台上 MXNET 源码编译

    目的 本文主要描述怎么在windows上编译mxnet源码 得到可用的libmxnet dll和libmxnet lib文件 版本 mxnet x64 release CPU版 运行环境 windows 7 64bit visual stu
  • [风格迁移系列五: WaveCT-AIN] 医学图像的风格迁移和跨域自适应(泛化性)

    不同于自然图像的风格迁移 在临床应用上 医学图像更加注重图像生成的纹理细节 并且需要实时的推理速度 因此提出一个实时且高质量的风格迁移方法非常重要 这篇论文实现了这个方法 Remove Appearance Shift for Ultras
  • Rectangle矩形类

    题目 设计一个名为Rectangle的矩形类 并实现Comparable接口 这个类包括 1 两个名为width和height的double数据域 它们分别表示矩形的宽和高 2 Rectangle的无参构造方法 width和height的默
  • Transactions on Multimedia 投稿经验分享

    关于IEEE Transactions on Multimedia 投稿经验分享 SCI分区 JCR分区 Q1 Q1 影响因子 7 3 期刊官方网站 IEEE Transactions on Multimedia IEEE Xplore 投
  • 聚类分析:原型K-Means/K-Means++聚类、层次聚类;密度聚类DBSCAN

    聚类分析 处理无标签数据 from IPython display import Image matplotlib inline 1 使用K Means方法按照相似度对对象进行分组 1 1使用sklearn实现K Means聚类 from
  • rdp协议解读

    转自 http blog csdn net jiangtao killer article details 6940346 一 前言 RDP 远程显示协议 Remote Display Protocol 简称RDP 提供了客户和服务器之间的
  • 微博爬取多页评论

    最近在学习爬虫 爬取了第一页后 信心满满 但是翻不了页 就卡住了 搜了好多资料 b站都翻烂了 还是没找到合适的代码 最后在知乎找到了 2023微博评论爬虫 用python爬上千条微博评论 突破15页限制 知乎 zhihu com 这篇文章干
  • Linux之系统进程及控制

    一 什么是进程 进程就是系统未完成并且正在进行的工作 二 查看系统进程 1 图形方式查看 gnome system monitor 图示 2 进程查看命令 ps A 所有进程 a 在当前环境中运行的进程 不包含环境信息 u 显示进程用户信息