linux进程管理

linux进程管理

毫无疑问进程管理是很重要的,当咱们的操做系统很忙碌,运行的进程不少,可是可能有好几个进程是没有用的,那么咱们是否是要找出这样的进程而后结束它。若是有不少个没用的进程一直在内存中,致使内存使用量过大,后面的进程可能就会没有办法执行。
例如,当咱们要定时执行某一个脚本任务,可是,若是脚本执行完进程并无退出,而你的执行频率又很快,几分钟或者几秒钟,那可就悲剧了,走过的坑。。。node

ps命令

ps命令是process status的缩写,它会列出内存中正在运行的程序的运行状况的快照。ps命令能够跟不少参数来过滤咱们须要查看的某个或者某些进程。linux

1.列出内存中的全部程序
ps -aux
2.列出指定用户的进程
ps -u root
3.列出进程信息的指定字段
ps -o pid
4.排序

按内存占用量排序操作系统

ps auxw --sort=rss
5.取前十条
ps auxw --sort=rss|head -10

过滤

ps -aux|grep node

返回的参数含义

%MEM: 占用的物理内存百分比

VSZ: 占用的虚拟内存量

RSS: 占用的实际内存量

top命令

相对于ps选取某个时间点的进程状态,top能够持续的检测进程的运行状况。
top后面常跟的几个参数code

  1. -d后面能够跟描述,表示多长时间更新一次时间。对象

  2. -n表示须要进行几回top输出。排序

  3. -p查看某个PID的运行状况。进程

top在执行过程当中能够执行一些命令。图片

  1. P 以CPU的使用资源多少排序显示。内存

  2. N 以PID来排序。资源

  3. M 之内存的使用排序。

  4. k 给予某个PID一个信号。

  5. r 重置某个PID的nice值。

  6. q 离开top。

进程的管理

咱们不单单要查看进程,并且要对进程进行管理,那么进程之间是如何相互管理的呢,细想下来,只要涉及到管理,确定要发出指令,对程序的管理也不例外。经过赋予某个进程一个信号告诉进程你想要作的事就能够啦。咱们能够经过kill -l查看全部的指令及其代号。
图片描述

这里咱们列出主要的几个:

  1. sighup启动被终止的命令。(1)

  2. sigint终止一个进程, 相似于键盘输入ctrl + c。(2)

  3. sigkill强制终端一个进程,若是该进程运行到一半,也会中止。(9)

  4. sigterm正常结束一个进程。(15)

  5. sigstop至关于键盘输入ctrl + z来暂停一个进程的进行。(17)
    下面补充一下ctrl[C, Z]的区别。

ctrl-c 发送 SIGINT 信号给前台进程组中的全部进程。经常使用于终止正在运行的程序。
ctrl-z 发送 SIGTSTP 信号给前台进程组中的全部进程,经常使用于挂起一个进程。

而命令的执行是须要有一个通知者和接受对象的
kill -signal PID kill命令会将signal这个指令发送给该PID。

free命令

free

uname命令系统资源查看

参数

  1. -a列出系统相关信息,包括如下信息都列出来。

  2. -s系统内核名称。

  3. -r内核的版本。

  4. -m系统硬件名称。

  5. -i硬件平台。

uptime命令查看系统启动时间与工做负载。

相关文章
相关标签/搜索