原文: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. let---bash中用于计算的工具

  2. coverage python 代码覆盖率工具使用(django 使用)

    1. 安装包 pip install coverage 2.启动程序 coverage run -m pytest 3.获取html格式的报告文件 coverage html 4.创建配置文件 .co ...

  3. [RxJS] Marbles Testings

    Install: npm install — save-dev jasmine-marbles Basic example: import {cold, getTestScheduler} from ...

  4. 【D3 API 中文手冊】

    [D3 API 中文手冊] 声明:本文仅供学习所用,未经作者同意严禁转载和演绎 <D3 API 中文手冊>是D3官方API文档的中文翻译. 始于2014-3-23日,基于VisualCre ...

  5. Cannot use isset() on the result of an expression (you can use "null !== expression" instead)

    if (isset($array[2])){ 抛出错误  Cannot use isset() on the result of an expression (you can use "nu ...

  6. 数据库中解析XML

    简介:OPENXML方法使用一例实现导入功能 DECLARE @strProjGUID AS VARCHAR(50)  DECLARE @strProjCode AS VARCHAR(50)  DEC ...

  7. 使用SqlBulkCopy进行批量数据插入

    Dim dt As DataTable = New DataTable() dt.Columns.Add("DtCostProductRuleGUID", GetType(Guid ...

  8. 1.24 Python知识进阶 - 类与对象

    类 语法格式: class Dog(object): print("the dog is barking ...") Dog为类名,object为要继承的基类,Dog类会从基类ob ...

  9. Java学习笔记四

    1.简介.进程和线程:简单的说就是进程负责为程序开辟内存空间,线程负责具体的执行单元(执行路径). 一个进程中可以有多个执行路径,称为多线程.CPU一次只能执行一个进程,但是一个进程内部可以有多个线程 ...

  10. Trie&可持久化Trie

    WARNING:以下代码未经测试,若发现错误,欢迎指出qwq~ Trie树(字典树) 一种简单的数据结构,可存储大量字符串,可在$O(len)$的时间内完成插入,删除,查找等操作. 下面是一个简单的例 ...