一、查看进程

ps   aux

查看系统所有的进程数据

ps   -lA

查看所有系统的数据

ps   axjf

连同部分进程树状态

ps参数

-A   显示所有进程,等效 -e

-a   不与terminal有关的所有进程

-u   有效用户相关的进程

-f    更详细的输出进程数据

-l      仅查看自己bash的相关进程

j      工作的格式

l      较详细的将PID的信息列出

x      较完善的输出信息(一般与-a一起使用)

eg:

我们可以看到有很多标志,它们具体的意思是什么呢?

F  ===>   代表这个进程的权限

1表示此进程仅仅可以复制(fork),而不可执行(exec)

4表示此进程的权限为root

S  ===>   代表这个进程的状态

R表示该进程正在运行中(Running)

S表示该进程处于睡眠状态(可被唤醒)

D表示该进程处于睡眠状态(不可被唤醒)

T表示该进程处于停止状态

Z表示该进程处于僵尸状态(进程已被终止,却无法被删除在内存外,CMD后面跟着<defunct>)

C  ===>   表示CPU使用率

PRI/NI  ===>   进程优先级(数值越小表示优先级越高)

ADDR  ===>   该进程所在内存位置

SZ  ===>   该进程占用内存大小

WCHAN  ===>   该进程是否处于运行状态

TTY  ===>   登录者的终端机位置(pts/n表示远程登录)

TIME  ===>   使用掉的CPU时间

CMD  ===>   造成此程序触发该进程的命令

使用ps   aux后会显示如下内容

其中,各字段的意义如下:

USER  ===>   该进程所属用户

PID  ===>   进程唯一标识符

%CPU  ===>   使用掉的CPU资源

%MEM  ===>   使用掉的物理内存

VSZ  ===>   该进程使用掉的虚拟内存量

RSS  ===>   该进程占用的固定内存量

TTY  ===>   表示该进程所属终端机(pts/0表示是远程登录所设进程)

STAT  ===>   进程状态(同上)

START  ===>   该进程被触发启动的时间

TIME  ===>   该进程实际使用CPU运行的时间

COMMAND  ===>   该进程的实际命令

pstree 以进程树的形式显示所有进程

参数列表

-A: 各进程树之间的连接以ASCII码字符来连接

-U:各进程树之间的连接以utf8字符来连接,某些终端可能会有错误

-p:同时列出每个进程的PID

-u: 同时列出每个进程的所属账号名称

-c: 不使用精简法显示进程信息,即显示的进程中包含子进程和父进程

-n: 根据进程 PID 号来排序输出,默认是以程序名排序输出的

eg:

top  动态查看进程的变化

-d  ===>   后面接妙数,指明整个进程界面的更新时间

-b  ===>   以批次的方式执行top

-n  ===>   与-b搭配,需要进行几次的top输出结果

-p  ===>   制定某些个PID来进行检测

运行期间参数

?  ===>   帮助

P  ===>   以CPU使用资源排序

M  ===>   以内存使用资源排序

N  ===>   以PID排序

T  ===>   以使用CPU累计时间排序

k  ===>   给予某个PID一个信号

r  ===>   给予某个PID重新制定一个nice值

q  ===>   退出top功能界面

二、进程的管理

进程是通过信号量来进行管理的,那么有多少信号量呢?我们可以通过

kill   -l

命令查看

eg:

那么如何传递信号量给某个进程呢

kill   -signal   PID

例如我们要杀掉某个进程

可以看到,top进程是被另一个终端给杀死的

killall   -[iTe]   [cmd]

根据命令名称(而不是PID或job number)来给予信号量

参数:

-i  ===>   交互式,会提醒用户

-e  ===>   后面接的命令要一致,但整个完整的命令不能超过15个字符

-I  ===>   忽略大小写,可能带参数

eg:

三、进程优先级

进程的优先级是通过Priority与Nice值确定的

在进程信息中分别由PRI   NI给出,但是PRI是系统内核自动调整的,我们用户是无法设置的。这时候,我们只能通过调整Nice的值来调整优先级了。一般来说

PRI(new) = PRI(old) + Nice

注意:

1.并不是你设置Nice为多少,系统就会给定PRI = PRI + Nice了,者需要你设置合理,并且通过系统的审核

2.nice的值的范围为 -20 ~19(值越小优先级越高)

3.root用户可以调整任何用户包括自己的Nice值(-20~19)

4.一般用户只能调整自己的Nice值(0~19)

5.一般用户只能给自己的Nice值增大(比如第一次为5,第二次只能大于5)。

使用方法

1.一开始执行程序就给予一个特定的Nice值

格式:

nice   -n   [-19~20]  command

eg:

2.调整某个已经存在的PID的Nice的值

格式:

renice  [number]  PID

eg:

linux之进程管理(二)的更多相关文章

  1. Linux进程管理(二)

    目录 Linux进程管理(二) 参考 vmstat命令 top命令 Linux进程管理(二)

  2. .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控

    一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...

  3. Linux:进程管理

    Linux:进程管理 进程间通信 文件和记录锁定. 为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放.这是UNIX为共享 ...

  4. Linux操作系统的进程管理和作业管理

    Linux操作系统的进程管理和信号 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lsof命令详解 1>.lsof概述 list open files查看当前系统文件的工 ...

  5. Linux操作系统的进程管理

    Linux操作系统的进程管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程相关概念 1>.进程概述 内核的功用: 进程管理.文件系统.网络功能.内存管理.驱动程序. ...

  6. linux 系统管理--进程管理

    目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...

  7. Linux命令-磁盘管理(二)

    Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...

  8. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

  9. Linux学习-进程管理

    为什么进程管理这么重要呢? 这是因为: 首先,我们在操作系统时的各项工作其实都是经过某个 PID 来达成的 (包括你的 bash 环境), 因此,能不能进行某项工作,就与该进程的权限有关了. 再来,如 ...

  10. Linux内核——进程管理与调度

    进程的管理与调度 进程管理 进程描写叙述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中.链表中的每一项包括一个详细进程的全部信息,类型为task_struct,称为进程描写叙 ...

随机推荐

  1. VScode 格式化代码保存时使用ESlint修复代码

    前言 eslint  vs code 新买的电脑啊啊西 装VScode 配置格式化代码保存时使用ESlint修复代码头快炸了,不建议初学者用,太费时间了: 终于搞定---再也不要担心缩进,函数(名)和 ...

  2. D2T1服务器需求——毒?瘤题(并不是

    这题我第一眼居然差点错了\(OTZ\) 然后写了线段树,还写挂了-- 写好了\(query\)操作,发现似乎不需要区间查询,然后又删掉-- 看着这熟悉的操作,似乎在哪里见过-- 然后我莫名其妙把一个\ ...

  3. (转)C代码优化方案

    C代码优化方案 原文地址:http://www.uml.org.cn/c++/200811103.asp 目录 C代码优化方案 1.选择合适的算法和数据结构 2.使用尽量小的数据类型 3.减少运算的强 ...

  4. 谈谈MySQL数据库索引

    在分析MySQL数据库索引之前,很多小伙伴对数据结构中的树理解不够深刻.因此我们由浅入深一步步探讨树的演进过程,再一步步引出MySQL数据库索引底层数据结构. 一.二叉树 二叉查找树也称为有序二叉查找 ...

  5. C# Bitmap 转 Bytes数组

    首先是Bitmap 转 MemoryStream MemoryStream ms = new MemoryStream(); bitmap.save(ms, ImageFormat.Jpeg); ms ...

  6. 关于BitmapImage EndInit()时报值不在范围内的异常

    值不在预期的范围内.ArgumentException 在 System.Windows.Media.ColorContext.GetColorContextsHelper(GetColorConte ...

  7. pycharm+keras+yolo3的使用和自选模型的训练中遇到的坑

    1.TensorFlow版本的问题 报错:RuntimeError: `get_session` is not available when using TensorFlow 2.0. 解决办法:这个 ...

  8. shell脚本基础-起始句的含义

    大部分的shell脚本第一行,要么是 #!/bin/bash 要么是 #!/bin/sh 其实第二种是第一种的升级版,增加了协议posix(#!/bin/sh = #!/bin/bash + posi ...

  9. Kubernetes实战总结 - 系统初始化

    设置系统主机名以及Host文件的相互解析 hostnamectl set-hostname k8s-master01 cat >> /etc/hosts <<EOF 192.1 ...

  10. 解析源码,彻底弄懂HashMap(持续更新中)

    为啥突然想着看HashMap源码了? 无意间看到有人说HashMap能考验Java程序员的基本功,之前我作为面试官帮公司招人的时候偶尔问起HashMap,大部分人回答基本都会用,且多数仅停留在put, ...