[关闭]
@ghostfn1 2015-06-29T01:21:12.000000Z 字数 1847 阅读 2824

Linux进程管理命令

Linux


Update Time:15629

执行中的程序在称作进程。每个进程会被动态地分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。
Linux 提供了许多命令来让用户高效地为了管理这些进程,下面是几个常用命令。

1. ps

ps 是Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU使用量、内存使用量等。

ps -ef |grep ^    列出需要进程
ps -aux   显示进程信息,包括无终端的(x)和针对用户(u)的进程

-e 显示所有进程。
-f 全格式。
-a 显示终端上的所有进程,包括其他用户的进程。
-r 只显示正在运行的进程。
-u 以用户为主的格式来显示程序状况。
-h 不显示标题。
-l 长格式。
-w 宽输出。

2. pstree

linux中,每一个进程都是由其父进程创建的。用 pstree 显示进程的树状图。如果指定了pid了,那么树的根是该pid,不然将会是init(pid: 1)。

3. top

top 可以监视系统中不同的进程所使用的资源,提供实时的系统状态信息。显示进程的数据包括 PID、进程属主、优先级、%CPU、%memory等。

4. htop

htop 与 top 类似,但是htop是交互式的文本模式的进程查看器。它通过文字图形化地显示每一个进程的CPU和内存使用量、swap使用量。
使用上下光标键选择进程,F7和F8改变优先级,F9杀死进程。

5. nice

用于设置和改变进程的优先级。(提高一个进程的优先级,内核会分配更多CPU时间片给这个进程。)
默认情况下,进程以 0 的优先级启动。进程优先级可以通过top命令显示的 NI(nice value)列查看。

进程优先级值的范围从-20到19。值越低,优先级越高。
(sudo)nice <优先值> <进程名>   通过给定的优先值启动一个程序

6. renice

renice命令可以改变正在运行的进程优先值,用户只能改变属于他们自己的进程的优先值。

  1. renice -n 4 -p 3806 改变指定进程的优先值
  2. //初始优先值为03806号进程优先值已经变成了 4 .
  3. sudo renice -3 -u/-g mint 通过指定用户和组来改变进程优先值
  4. //用户为 mint 的所有进程优先值变为 -3

7. kill

  1. 强制杀死进程,使用-9参数。
  2. 如果不知道进程PID(进程 ID 号)或者打算用名字杀死进程时候,使用 killall
  3. kill <pid>
  4. kill -9 <pid>
  5. killall -9 &ensp;&ensp; 杀死所有拥有同样名字的进程
  6. 如果你使用kill,你需要知道进程ID号。pkill是类似的命令,但使用模式匹配,如进程名,进程拥有者等。

8. ulimit

该命令用于控制系统资源在shell和进程上的分配量,可以管理重度使用和存在性能问题的系统。限制资源大小可以确保重要进程持续运行,其他进程不会占用过多资源。

  1. ulimit -a -显示当前用户关联的资源限制
  2. -f -最大文件尺寸大小
  3. -v -最大虚拟内存大小(KB
  4. -n -增加最大文件描述符数量
  5. -H :改变和报告硬限制
  6. -S :改变和报告软限制
  7. 浏览ulimit man页面获取更多选项。

9. 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”命令组合放到后台运行。

可以使用‘jobs’命令列出所有后台进程。
使用‘fg’命令可以将后台程序调到前台执行。
   fg  %进程id

12. ipcs

ipcs 命令报告进程间通信设施状态。(共享内存,信号量和消息队列)

用-p参数联合-m、-s或-q使用,可以获得相关的进程间通信的进程ID。
ipcs -p -m
列出了最近访问了共享内存段的进程的 创建者的ID 和 进程ID。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注