Linux中进程的管理

1.什么时进程?
程序放置在存储媒体中(如硬盘,光盘,软盘,磁带等),为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给与这个内存内的单元一个识别码(pid),可以说,进程就是一个正在运行的程序。
2.进程的状态
R(Running):正在运行
S(Sleep):程序最小化状态目前正在睡眠状态,但可唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O情况。
T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态。
Z(Zomblie):僵尸状态,程序已经终止但却无法被移除

2.查看进程:
PS :
ps -A ##查看所有进程

ps -a ##查看当前程序中运行的进程,但不包含环境信息

ps a ##查看当前程序中运行的进程

ps -u ##查看进程用户信息

ps f ##查看进程的父子关系

ps e ##显示进程的详细信息

常用组合:
ps aux ##显示系统中所有进程并显示进程用户

 USER:启动该进程的用户账号名称

PID:该进程的ID号,在当前系统中是唯一的

TTY:该进程在哪个终端上运行。“?”表未知或不需要终端

STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。

START:启动该进程的时间

TIME:该进程占用CPU时间

COMMAND:启动该进程的命令的名称

%CPU:CPU占用的百分比

%MEM:内存占用的百分比

VSZ:占用虚拟内存(swap空间)的大小

RSS:占用常驻内存(物理内存)的大小

ps ef ##显示进程详细信息并显示进程父子关系

ps ax ##显示当前系统的所有进程

pstree ##显示当前系统进程树

 3.显示进程指定信息

ps -o xxx ##显示进程的指定信息
comm ##进程名称

user ##进程所有人

group ##进程所有组

%cpu ##进程cpu使用率

%mem ##进程内存使用率

pid ##进程id

nice ##进程优先级

4. 系统进程排序

ps ax --sort=+%cpu ##对使用cpu的进程频率正序排列

ps ax --sort= -%cpu ##对使用cpu的进程频率倒序排列
ps ax --sort=+%mem ##对使用内存的进程频率正序

-%mem ##对使用内存的进程频率倒序

5.进程的优先级

1.进程优先级范围
-20~19 ##越小优先级越高
2.优先级查看
ps ax -o pid,nice,comm

3.指定某个进程用某个优先级开启
nice -n 优先级数字 进程pid

nice -n -5 vim ##开启vim进程以-5的优先级开启 (加&可以使打开的软件不占用终端)


6.改变进程优先级(进程已开启的情况下)
renice -n 优先级数字 进程pid
renice -n -3 8548 ##将1806进程的优先级改为3

![](https://s1.51cto.com/images/blog/201904/01/09a94a02bb74efc5d660469db434888d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
        ![](https://s1.51cto.com/images/blog/201904/01/318e068ffd65a88f62b5493d4a1f251a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)               

7.环境中进程前后台调用

jobs ##查看被打入环境后台的程序
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台(占用终端)
bg jobsnum ##把后台暂停的进程运行(在该进程界面上仍可使用)
comm & ##让命令直接在后台进行

8.进程信号
常用信号等级
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行关闭单个进程(不可能阻塞)
15 正常关闭进程(可能会阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被阻塞)
20 把进程打入后台(可以被阻塞)
kill -信号 进程pid

9.top 进程的动态监控
1 显示cpu每个核的负载
s 调整刷新频率
c CPU负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号

PID: 进程描述符
USER: 进程的拥有者
PRI:进程的优先级
NI: nice level
SIZE: 进程拥有的内存(包括code segment + data segment + stack segment)
RSS: 物理内存使用
VIRT(virtul memory usage): 进程需要的虚拟内存大小
RES(resident memory usage): 常驻内存
SHARE: 和其他进程共享的物理内存空间
STAT:进程的状态,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中断的睡眠状态),Z=zombie。
%CPU: CPU使用率
%MEM: 物理内存的使用
TIME: 进程占用的总共cpu时间
COMMAND:进程的命令

原文地址:https://blog.51cto.com/12893781/2372713

时间: 2024-07-31 10:49:50

Linux中进程的管理的相关文章

Linux中的工作管理(Job Control )

以前使用Linux老是会不小心按下Ctrl + z,然后就出现看不懂的情况,以为程序突然就没了,今天专门研究了下Linux下的几个快捷键和工作管理. 其中找到一篇很不错的文章,大部分是里面转载的. 原文地址:http://blog.chinaunix.net/uid-26495963-id-3062757.html 一.Job的概念     Job是指在批处理的环境中,为完成某一任务而进行一系列操作的总称.在个人接触计算机的年代,批处理的环境已经不容见到了,只有一些特殊的行业和环境下还在使用这样

Linux中的磁盘管理

Linux中的磁盘管理 Linux中磁盘管理的学习主要分为3个部分: 分区 格式化 挂载 一.磁盘结构 硬盘是计算机常用的存储设备之一,本章将介绍硬盘的基本知识. 硬盘的物流结构 盘片:磁盘有多个盘片,每盘片2面 磁头:每面一个磁头 硬盘的数据结构 硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面 硬盘存储容量 硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数例如:磁盘是一个 3个圆盘6个

linux中进程和计划任务的管理

前言: 在linux中,为了更好的了解和使服务器有序运行,管理员需要对进程和计划任务做相应的操作,以便能够更好的完成维护任务. 这里我们做一些简单的练习. 一.管理系统中的进程. (1)启动系统中的portmap服务,然后使用kill命令终止它的运行. Kill  进程的PID号 (2)查找系统中CPU占用率超过80%的进程,并强行终止该进程. 系统中一般是没有CPU超过80%的进程,可以从http://www.cpuburnin.com/downloads/cpuburn-in.tar.gz网

Linux中的内存管理(转)

原文:http://blog.chinaunix.net/uid-26611383-id-3761754.html 前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识. 我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技

Linux中进程控制块PCB-------task_struct结构体结构

Linux中task_struct用来控制管理进程,结构如下: struct task_struct { //说明了该进程是否可以执行,还是可中断等信息    volatile long state;   //Flage 是进程号,在调用fork()时给出 unsigned long flags;   //进程上是否有待处理的信号 int sigpending;    //进程地址空间,区分内核进程与普通进程在内存存放的位置不同 mm_segment_t addr_limit; //0-0xBF

转:Linux中的内存管理

前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识. 我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这 个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技术所存在的哪些问题.弄清楚了这些,我们才能比 较清晰的把握某一项技术.有些资料在介绍某个概念的时候直接就介绍这个概

Linux中包的管理与程序安装

包是捆绑在一起并准备安装在 Linux 系统上的软件,安装和卸载包是任何 Linux 用户和管理员的基本操作.本篇将提供 Red Hat Package Manager(RPM)和 YUM 软件管理工具的用法并配合实例,这对你熟悉linux环境中的包管理以及程序的安装有很大帮助. 一.RPM包管理 RPM,是Red Hat Package Manager的缩写.出现最早是在早期Slackware中的打包文件,就是把文件简单打包压缩,解压时会放置在目标位置,优点类似Windows绿色软件安装.这种

在linux中使用包管理器安装node.js

网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法. 1. 在Ubuntu中,使用如下命令: curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs 如果需要使用npm安装本地组件,还需要执行如下命令: apt-get install -y bu

Linux中进程的优先级

Linux採用两种不同的优先级范围,一种是nice值.还有一种是实时优先级. 1.nice值 nice值得范围是-20~19,默认值是0. 越大的nice值意味着更低的优先级.也就是说nice值为-20的优先级最高. 2.实时优先级 实时优先级的范围是0~99.其值得意义与nice值相反.即:越高的实时优先级数值意味着进程优先级越高. Linux的进程可分为普通进程和实时进程.实时进程都是一些对响应时间要求比較高的进程.因此实时进程的优先级比普通进程的优先级要高. 3.优先级比較 Linux中的