不管是windows还是linux,都有进程,那么什么是进程呢?进程就是cpu未完成的工作。下面会介绍一些关于系统中进程的查看以及管理的方法。

1、命令

1.1、命令使用

查看进程,使用的命令是"ps",加入参数"-a"表示关于当前环境的所有进程。

参数"x|A"均可表示所有进程,但是"A"列出的是正在进行的进程,而"x"列出的是包括已经结束的进程在内的所有进程。

参数"f"表示进程的从属关系。

参数"e"显示进程调用环境工具的详细信息。

参数"l"长列表显示进程的详细信息。

参数"u"可以显示进程的用户信息。

参数"-a"显示shell前台运行命令的进程,但不包含shell本身。

1.2、选择性查看

查看进程时,也可以只查看自己想要的内容,例如只想要查看进程的cpu使用情况,内存的使用情况,用户名,PID和状态,那么需要输入命令"ps ax -o %cpu,%mem,user,pid,stat"就可以出现下图。除此之外,"group"还可以显示组信息,"nice"显示进程优先级。

1.3、进程的状态

进程一般会出现五种状态。R(Running):该程序正在运行中。S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。D :不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。T:停止状态(stop),可能是在工作控制(背景暂停)或者除错(traced)的状态。Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。

可以通过"stat"选择性查看进程状态信息,如下图所示,其中"S"表示进程状态,"l"表示内存中有锁定空间,"N"表示优先级低,"<"表示优先级高,"+"表示前台运行,"s"表示顶级进程。

1.4、进程的排序

在查看进程时,有时候需要按照进程的信息进行排序查看,排序的命令为"ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem> ","+"表示正序排列,"-"表示倒序排列。如下图为对CPU的使用量进行倒序排列。

2、进程的优先级

进程的优先级表示cpu处理程序的顺序,优先级范围为-20~19,数字越小表示优先级越高。查看优先级可以用"ps ax -o pid,nice,comm"实现,如下图。

如果需要更改程序的优先级,则需要输入命令"renice -n 优先级数字 进程pid",例如需要将"bash"程序的优先级改为15,就需要输入"renice -n 15 3475"。

如果在程序打开前指定优先级则需要的命令是"nice -n 优先级 进程",例如设置vim程序在打开时的优先级为19,则需要输入"nice -n 19 vim &"。

3、进程的前后台调用

在shell中打开一个"gedit",如下图,可以发现,"gedit"会弹出窗口,此时shell是无法继续使用的。

如果需要继续使用shell,就需要按"ctrl + z",把占用终端的进程打入后台。此时的进程是无法继续使用的。

输入"jobs"就可以查看被打入环境后台的进程。输入"fg jobsnum"就可以把后台进程调回前台,例如下图输入"fg 2"就可以重新使用"gedit"。

输入"bg"可以把后台暂停的进程后台运行,打入后台后还可以继续使用,同时shell也可以使用。

也可以在程序开启前在命令后加"&",让命令直接在后台运行。

4、进程的信号

4.1、信号种类

信号也就是直接提供给计算机的命令。计算机中有着很多很多的信号,一般应用最多也最普遍的信号是:

1 :进程重新加载配置但是不会关闭进程

2 :删除进程在内存中的数据

3 :删除鼠标在内存中的数据

9 :强行结束单个进程(不能被阻塞)

15:正常关闭进程(可能会被阻塞)

18:运行暂停的进程

19:暂停某个进程(不能被阻塞)

20:把进程打入后台(可以被阻塞)

可以输入"man 9 signal"可以查看信号详细信息。

4.2、信号的应用

"kill -信号 进程pid"可以对进程进行操作,例如输入"kill -15 4107"就可以结束"gedit"进程。

"killall -信号 进程名字"可以对相同进程进行批量操作,例如输入"killall -9 vim"就可以结束全部的"vim"进程。

此外,"pkill -u student -信号"还可以对指定用户的进程进行操作。

5、用户登陆审计

在使用linux系统时,有时候需要连接其他计算机或者终端,那么就需要查看是否有人正在连接或者连接过自己的计算机,也是对计算机的一种保护。

"w"可以查看使用系统的当前用户有那些。

"w -f "可以查看使用地点,例如有一台主机连接自己的主机后,下图就会显示出来。但是"w"命令只能显示正在连接自己主机的信息。

"last"命令可以查看用户登陆成功过的历史,如下图所示,虽然其他主机连接已经断开,但还是会显示出来。

"lastb"可以查看用户登陆但是未成功的历史,例如连接主机时密码没输对。

6、top

"top"命令可以监控系统负载工具,可以按"h"进入帮助查看使用帮助。

以上就是查看进程和进程管理常用的一些方式。

最新文章

  1. [C]遍历目录下所有文件
  2. hdu 3934&amp;&amp;poj 2079 (凸包+旋转卡壳+求最大三角形面积)
  3. Silverlight RadGridView的HeaderCellStyle样式
  4. 简单的linux命令笔记
  5. vmware 连网
  6. POJ 1062 昂贵的聘礼 解题报告
  7. [Windows编程] 使用AttachThreadInput 来捕捉其它窗口的键盘输入
  8. wcf例子01
  9. 201521123122 《java程序设计》第十三周学习总结
  10. Redis工作系列之一 与 Memcached对比理解
  11. 5; XHTML图像
  12. textarea的高度随内容变化而变化
  13. Nginx的进程模型及高可用方案(OpenResty)
  14. centos6安装配置zabbix3主控端
  15. 转载:指针delete后要设置为NULL
  16. 理解Vuex的辅助函数mapState, mapActions, mapMutations用法
  17. 总结那些有默认margin,padding值的html标签
  18. Windows安装Flask Traceback (most recent call last):
  19. 更新:在MAC上安装RN开发环境的步骤(全)
  20. java 中,for、for-each、iterator 区别

热门文章

  1. ACM竞赛中的魔方问题专题(不定时更新)
  2. bean 解析、注册、实例化流程源码剖析
  3. 使用回调的方式实现中间件-laravel
  4. Redis 在java中的使用(登录验证,5分钟内连续输错3次密码,锁住帐号,半小时后解封)(三)
  5. phpstorm+xdebug手机app调试
  6. js中新增动态属性
  7. java开发工具必备神器——Notepad++和jd-gui下载安装使用
  8. 并发编程-concurrent指南-线程池ExecutorService的实例
  9. BZOJ 1085:[SCOI2005]骑士精神(A*算法)
  10. iOS邓白氏编码申请流程及苹果账号组织名称变更