linux之进程管理(二)
一、查看进程
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之进程管理(二)的更多相关文章
- Linux进程管理(二)
目录 Linux进程管理(二) 参考 vmstat命令 top命令 Linux进程管理(二)
- .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控
一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...
- Linux:进程管理
Linux:进程管理 进程间通信 文件和记录锁定. 为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放.这是UNIX为共享 ...
- Linux操作系统的进程管理和作业管理
Linux操作系统的进程管理和信号 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lsof命令详解 1>.lsof概述 list open files查看当前系统文件的工 ...
- Linux操作系统的进程管理
Linux操作系统的进程管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程相关概念 1>.进程概述 内核的功用: 进程管理.文件系统.网络功能.内存管理.驱动程序. ...
- linux 系统管理--进程管理
目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...
- Linux命令-磁盘管理(二)
Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...
- 【linux之进程管理,系统监控】
一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...
- Linux学习-进程管理
为什么进程管理这么重要呢? 这是因为: 首先,我们在操作系统时的各项工作其实都是经过某个 PID 来达成的 (包括你的 bash 环境), 因此,能不能进行某项工作,就与该进程的权限有关了. 再来,如 ...
- Linux内核——进程管理与调度
进程的管理与调度 进程管理 进程描写叙述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中.链表中的每一项包括一个详细进程的全部信息,类型为task_struct,称为进程描写叙 ...
随机推荐
- vue 接口 对象数组的传入传出
数组传入 对象的话用{...obj} <selectFile :tableData="[...tableData]" @uploadSuccess="data =& ...
- Android位置服务开发
1. 使用LocationManager获取地理位置信息 代码如下: private TextView positiontext; private String provider; private L ...
- 通过js自动判断移动终端设备(ios\android等)
当用户用移动设备扫描一个二维码是,将扫描后的链接链接到一个页面,该页面只包含判断移动终端设备的js,判断好后自动跳转到对应的链接 或下载对应的内容. html代码如下: <script> ...
- dom4j解析xml格式文件实例
以下给4种常见的xml文件的解析方式的分析对比: DOM DOM4J JDOM SAX Dom解析 在内存中创建一个DOM树,该结构通常需要加载整个文档然后才能做工作.由于它是基于信息层次 ...
- 五分钟了解Semaphore
一.前言 多个线程之间的同步,我们会用到Semaphore,翻译成中文就是信号量.使用Semaphore可以限制多个线程对同一资源的访问.我们先看下C#中对Semaphore的定义,如下图: 翻译成中 ...
- search(3)- elastic4s-QueryDSL
elastic4s是elasticsearch一个第三方开发的scala语言终端工具库(Elastic4s is a concise, idiomatic, reactive, type safe S ...
- 给 ABP vNext 应用安装私信模块
在上一节五分钟完成 ABP vNext 通讯录 App 开发 中,我们用完成了通讯录 App 的基础开发. 这本章节,我们会给通讯录 App 安装私信模块,使不同用户能够通过相互发送消息,并接收新私信 ...
- hdu1224SPFA求最长路加上打印路径
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1224/ 无负环. 代码如下: #include<bits/stdc++.h> using names ...
- CentOS7 如何安装JDK(以及卸载)
CentOS7 如何安装JDK(以及卸载) 1. 如何安装JDK? 购买云服务器后,会提供一个公网IP和内网IP,需要使用SSH工具连接到云服务器(推荐使用SecureCRT),随后就能在命令行中操作 ...
- F版本SpringCloud 4—Eureka注册中心开发和客户端开发
源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 通过前三篇文章,用大白话介绍了微服务和SpringCloud以及服务治理相关的概 ...