原文:linux系统进程的查看与控制

一、什么是进程?

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

二、查看系统进程

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指定优先级只对设定后新开启的进程有效,对设定前开启的进程无效。

(4)改变进程优先级

renice -n 优先级数字 进程pid

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

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

jobs ##查看被打入环境后台的进程

ctrl+z ##把占用终端的进程打入暂停打入后台

fg jobsnum ##把后台进程调回前台

bg jobsnum ##把后台暂停的进程运行

comm & ##让命令直接在后台运行

(7)进程信号

1、常用的信号等级

1 ##进程重新加载配置

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

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

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

解释:

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

9 ##强行结束单个进程(不能被阻塞)

15 ##正常关闭进程 (可能会被阻塞)

分析:kill -9 为强行结束单个进程,不管该进程的优先级高不高。而kill -15 是正常关闭进程,一般对第三方软件可以正常关闭,但是对于优先级较高的进程,则可能被阻塞,不能关闭。



18 ##运行暂停的进程

19 ##暂停某个进程 (不能被阻塞)

20 ##把进程打入后台 (打入后台同时会暂停) (可以被阻塞)

更多的进程信号等级可以查看:

man 7 signal ##查看信号详细信息

killall -信号 进程名字



pkill -u student -信号



(8)进程的动态监控

top

1 ##显示cpu每个核的负载

s ##调整刷新频率

c ##cpu负载排序

m ##内存使用量排序

h ##查看帮助

u ##查看指定用户进程

k ##对指定进程发起信号

q ##退出

linux系统进程的查看与控制的更多相关文章

  1. [转帖]Linux系统进程的知识总结,进程与线程之间的纠葛...

    Linux系统进程的知识总结,进程与线程之间的纠葛... https://cloud.tencent.com/developer/article/1500509 当一个程序开始执行后,在开始执行到执行 ...

  2. 【Linux程序设计】之进程控制&守护进程

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的. 实验题目:Linux环境下的进程控制 实验目的:熟悉并掌握Linux环境下进程的相关函数的应用:守护进程的概 ...

  3. Linux服务器性能查看分析调优

    一 linux服务器性能查看 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc ...

  4. Linux下内存查看命令

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  5. linux top命令查看内存及多核CPU的使用讲述【转】

    转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...

  6. Linux系统进程管理

    Linux系统进程管理 什么是进程 进程是已启动的可执行程序的运行实例,进程有以下组成部分: 分配内存, 已分配内存的地址空间 安全属性, 进程的运行身份和权限 进程代码, 运行一个或多个的线程 进程 ...

  7. Linux下内存查看及详解

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  8. Linux下如何查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   L ...

  9. Linux下怎么查看当前系统的版本

    Linux下怎么查看当前系统的版本:   uname -r 功能说明:uname用来获取电脑和操作系统的相关信息. 语 法:uname [-amnrsvpio][--help][--version] ...

随机推荐

  1. ActiveMQ学习总结(7)——ActiveMQ使用场景

    MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.消息传 ...

  2. SpringCloud组件和概念介绍

    一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及 ...

  3. 【Material Design视觉设计语言】应用样式设计

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  4. [翻译]魅族的M1 Note是十分廉价(dirt-cheap)的iphone5C增强版

    Meizu's M1 Note is a dirt-cheap iPhone 5c on steroids 魅族的M1 Note是十分廉价(dirt-cheap)的ihone5C增强版 While m ...

  5. JavaScript的子集和超集

    1.JavaScript子集 JavaScript子集的定义大部分都是出于安全考虑,仅仅有使用这门语言的一个安全的子集编写脚本,才干让代码运行得更安全.更稳定.比方怎样更安全地运行一段由不可信第三方提 ...

  6. HDU——T 3579 Hello Kiki

    http://acm.hdu.edu.cn/showproblem.php?pid=3579 Time Limit: 2000/1000 MS (Java/Others)    Memory Limi ...

  7. Hibernate之API初识及增删改查实现

    声明:关于hibernate的学习.非常大一部分东西都是概念性的. 大家最好手里都有一份学习资料,在我的博文中.我不会把书本上的概念一类的东西搬过来.那没有不论什么意义.关于hibernate的学习, ...

  8. php线性表数组实现的删除操作

    php线性表数组实现的删除操作 一.总结 1.array_pop(): 函数删除数组中的最后一个元素. 二.代码 代码一: //线性表的删除(数组实现) function delete_array_e ...

  9. .net core 时间格式转换

    //string time = "2019-01-18 13:50:38"; string time = "2019-01-18 13:50:38 256"; ...

  10. sass工具、相关插件

    http://koala-app.com/index-zh.html 下载koala 把css文件夹(包含.scss后缀的文件)整个拖进去: 然后在sublime打开.scss文件编译,自动生成css ...