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,称为进程描写叙 ...
随机推荐
- openstack的yum源出错,配置openstack-ocata版的在线yum源,openstack的yum源配置
真的是几经周折,终于配置好了!我做好了一键配置yum的代码,地址:https://www.cnblogs.com/guarding/p/12321702.html 首先看一下配置前的报错信息把: 需要 ...
- docker的安装,自己写了一个安装docker的脚本,辅助做docker安装的实验(ubuntu)
#!/bin/bash #获取用户名 [ pwd == '/root' ] && hn="root@$(hostname):~#" || hn="root ...
- python基础学习day03
基础数据类型总览 why:机器无法像人一样分编各种类型 int(数字) str(字符串)作用:存储少量信息. '12','我和你','qw' bool值 作用:判断真假 True False list ...
- python基础学习day02
pycharm的安装以及简单使用 辅助开发软件,代码逐行调试,设计高端 python的种类: CPython:官方推荐可以转换成c能够识别的字节码. JPython:可以转化为Java语言能够 ...
- 机器学习- Attention Model结构解释及其应用
概述 Attention Model 的出现,在sequence model的领域中算是一个跨时代的事件.在Many-to-Many的sequence model中,在decoder network中 ...
- Spring Cloud 系列之 Netflix Hystrix 服务监控
Actuator Hystrix 除了可以实现服务容错之外,还提供了近乎实时的监控功能,将服务执行结果和运行指标,请求数量成功数量等等这些状态通过 Actuator 进行收集,然后访问 /actuat ...
- go语言周边
博主收藏的go语言资料,分享一波~~~ 官网 https://golang.org/ (被墙) 镜像: http://docscn.studygolang.com/ 下载镜像: https://gom ...
- Range Module
2019-09-21 18:54:16 715. Range Module 问题描述: 问题求解: 用线段树解决了. class RangeModule { Node root; class Node ...
- C#获取设备话筒主峰值(实时音频输出分贝量)
1.引用类库NAudio,Git地址 https://github.com/naudio/NAudio 2.添加如下代码和引用: public float GetVoicePeakValue() { ...
- layer弹层插件
// 使用前需要引入jquery的支持,链接如下: https://blog-static.cnblogs.com/files/liguanlong/jquery1.9.1.min.js ...