12个Linux进程管理命令介绍(转)
12个Linux进程管理命令介绍
| [日期:2015-06-02] | 来源:Linux中国 作者:Linux | [字体:大 中 小] |
执行中的程序在称作进程。当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。
为了管理这些进程,用户应该能够:
- 查看所有运行中的进程
- 查看进程消耗资源
- 定位个别进程并且对其执行指定操作
- 改变进程的优先级
- 杀死指定进程
- 限制进程可用的系统资源等
Linux提供了许多命令来让用户来高效掌控上述的操作。接下来,一个一个的来讲解下。

1. ps
'ps'是Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。下述选项可以得到更多有用的消息。
ps -a -列出所有运行中/激活进程

ps -ef |grep -列出需要进程ps -aux -显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID,%CPU,%MEM等
2. pstree
linux中,每一个进程都是由其父进程创建的。此命令以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。如果指定了pid了,那么树的根是该pid,不然将会是init(pid: 1)。

3. top
‘top’是一个更加有用的命令,可以监视系统中不同的进程所使用的资源。它提供实时的系统状态信息。显示进程的数据包括 PID、进程属主、优先级、%CPU、%memory等。可以使用这些显示指示出资源使用量。

4. htop
htop与top很类似,但是htop是交互式的文本模式的进程查看器。它通过文字图形化地显示每一个进程的CPU和内存使用量、swap使用量。使用上下光标键选择进程,F7和F8改变优先级,F9杀死进程。Htop不是系统默认安装的,所以需要额外安装。

5. nice
通过nice命令的帮助,用户可以设置和改变进程的优先级。提高一个进程的优先级,内核会分配更多CPU时间片给这个进程。默认情况下,进程以0的优先级启动。进程优先级可以通过top命令显示的NI(nice value)列查看。
进程优先级值的范围从-20到19。值越低,优先级越高。
nice <优先值><进程名>-通过给定的优先值启动一个程序


上述命令例子中,可以看到‘top’命令获得了-3的优先值。
6. renice
renice命令类似nice命令。使用这个命令可以改变正在运行的进程优先值。注意,用户只能改变属于他们自己的进程的优先值。
renice -n -p -改变指定进程的优先值

初始优先值为0的3806号进程优先值已经变成了4.
renice -u -g -通过指定用户和组来改变进程优先值

上述例子中,用户为‘mint’的所有进程优先值变为‘-3’。
7. kill
这个命令用于发送信号来结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。注意,使用强制杀死的时候一定要小心,因为进程没有时机清理现场,也许写入文件没有完成。如果我们不知道进程PID或者打算用名字杀死进程时候,killall就能派上用场。
kill <pid>kill -9<pid>killall -9-杀死所有拥有同样名字的进程
如果你使用kill,你需要知道进程ID号。pkill是类似的命令,但使用模式匹配,如进程名,进程拥有者等。
pkill <进程名>


8. ulimit
该命令用于控制系统资源在shell和进程上的分配量。对于系统管理员是最有用的,可以管理重度使用和存在性能问题的系统。限制资源大小可以确保重要进程持续运行,其他进程不会占用过多资源。
ulimit -a -显示当前用户关联的资源限制

-f -最大文件尺寸大小-v -最大虚拟内存大小(KB)-n -增加最大文件描述符数量-H :改变和报告硬限制-S :改变和报告软限制
浏览ulimit man页面获取更多选项。
9. w
w 提供当前登录的用户及其正在执行的进程的信息。显示信息头包含信息,如当前时间、系统运行时长、登录用户总数、过去的1,5,15分钟内的负载均衡数。
基于这些用户信息,用户在终止不属于他们的进程时要小心。

who是类似命令,提供当前登录用户列表、系统启动时间、运行级别等。

whoami 命令输出当前用户ID

10. pgrep
pgrep的意思是"进程号全局正则匹配输出"。该命令扫描当前运行进程,然后按照命令匹配条件列出匹配结果到标准输出。对于通过名字检索进程号是很有用。
pgrep -u mint sh
这个命令将会显示用户为‘mint’和进程名为‘sh’的进程ID。

11. fg , bg
有时,命令需要很长的时间才能执行完成。对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用。
我们可以通过‘&’在后台启动一个程序:
find .-name *iso >/tmp/res.txt &
一个正在运行的程序也可以通过“CTRL+Z”和“bg”命令组合放到后台运行。
find .-name *iso >/tmp/res.txt &-启动一个程序ctrl+z -挂起当前执行程序bg -将程��放到后台运行
我们可以使用‘jobs’命令列出所有后台进程。
jobs
使用‘fg’命令可以将后台程序调到前台执行。
fg %进程id

12. ipcs
ipcs命令报告进程间通信设施状态。(共享内存,信号量和消息队列)
用-p参数联合-m、-s或-q使用,可以获得相关的进程间通信的进程ID。
ipcs -p -m
下面屏幕截图列出了最近访问了共享内存段的进程的创建者的ID和进程ID。

12个Linux进程管理命令介绍(转)的更多相关文章
- 12个Linux进程管理命令介绍
导读 执行中的程序称作进程.当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作 ...
- 12 个 Linux 进程管理命令介绍
执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作系统 ...
- [转帖]十二 个经典 Linux 进程管理命令介绍
https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看. 随笔- 109 ...
- 十二 个经典 Linux 进程管理命令介绍
执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作系统 ...
- Linux用户管理命令介绍
1)管理用户命令总汇 2)管理用户组命令 总汇
- Linux进程管理命令
CentOS默认并没有安装上psmisc这个软件包,就是像pstree,fuser这类的命令就没有了.如果想要执行这些命令最好的方法就是手动的去安装它们 解决方法: yum -y install ps ...
- s9 Linux 进程管理命令
9.1 ps:查看进程 9.2-3 pstree & pgrep 9.4-6 kill & killall & pkill 9.7 top:实时显示系统中各个进程的资源占用状况 ...
- Linux 进程管理 笔记
https://www.ibm.com/developerworks/cn/linux/l-linux-process-management/index.htmlLinux 进程管理剖析 进程可以是短 ...
- linux命令之进程管理命令
1.ps:查看进程 该命令用于列出命令执行时刻的进程快照,如果想要动态的显示进程信息,可以使用top命令. 参数 说明 a(常用) 显示与终端相关的所有进程,包含每个进程的完整路径 x(常用) 显示与 ...
随机推荐
- Apache Server 添加虚拟主机(Virtual Host )
当前许多虚拟服务器如阿里云的ECS服务器,都提供各式各样的虚拟机,常见的有Linux.Windows等,如果我们使用了Apache Server作为虚拟机的Web服务器,并且我们希望多个web应用程序 ...
- 过滤表名 & 拼接字符串
/// <summary> /// 分析sql语句中的表名 /// </summary> /// <param name="sql">sql语句 ...
- sql查询上一条记录和下一条记录
上一条记录的SQL语句: * from news where newsid<id order by newsid DESC 下一条记录的SQL语句: * from news where news ...
- (转载)IE6支持透明PNG图片解决方案:DD_belatedPNG.js
DD_belatedPNG.js 是一个能是IE6支持p显示ng透明图片,而且还支持背景循环(background-repeat)和定位(backgrond-position) ,支持focus,Ho ...
- MD5实现32位加密
好记性不如烂笔头,随手记记 附代码 public static void Main(string[] args) { Console.WriteLine("长度为" + UseMd ...
- HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-Integrated”
网站发布到IIS上,访问时出现错误 原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决:开始->所有程序->附件->右键点击“命令提 ...
- SWT组件添加事件的四种方式
在我们CS日常开发过程中会经常去为组件添加事件,我们常用的为AWT与SWT.SWT的事件模型是和标准的AWT基本一样的.下面将按照事件的四种写法来实现它. 一.匿名内部类的写法 new MouseAd ...
- 关于js原型继承
js的每个类都有一个prototype对象 访问对象的属性时,会先访问到对象自身是否有定义这个属性 如果没有定义,就会去访问对象所属类型的prototype对象是否有此属性 原型继承就是把类型的pro ...
- 怎样从altera下载软件与器件库
首先要注册一个帐号,否则是不能下载的. step1:进入support->download 这是页面下方的显示,可以选择想要安装的Quartus版本以及该版本支持的器件.这里以16.0标准版为例 ...
- iOS强制横屏
由于项目需求,需要整个项目页面都是竖屏,唯独一个折线图页面强制性横屏显示. 网上逛了许多帖子,也看了好多大神的提供的方法,都没能够实现本屌丝想要的效果.没办法自己研究自己搞,借鉴各路大神的思路,最后费 ...