进程数:linux系统中运行的所有进程按照一颗树的形式组织,这棵树的树根是init,一个在启动时就开始运行的系统级进程,系统为每一个进程赋予一个序号(PID)以便唯一标识它们,进程也从其父进程继承PID(PPID,parent PID),init父进程号是其本身,都是1.
设置进程优先级:nice renice:系统中运行的每个进程都有一个优先级(nice值),其范围从-20(优先级最高)到19(优先级最低)。默认的情况下优先级是0(基本“调度”优先级)。优先级较大的进程比优先级较低的进程的调度更频繁,所以拥有更多的进程周期。一般用户只能降低自己的进程优先级别,并限于0--19之间,超级用户可以将任意进程的优先级设为任意值。
renice命令:如果某个或某些进程消耗了过多的系统资源,除了终止它们,您还可以更改它们的优先级。为此,请使用 renice 命令。其语法为:
renice 优先级 [[-p] pid ...] [[-g] pgrp ...] [[-u] 用户名 ...]其中, 优先级 是指优先级的值; pid (对多个进程请使用 -p 选项)表示进程 ID 号; pgrp (如果有多个,请用 -g )表示进程组 ID 号;而 用户 (如果不只一个,请用 -u )表示进程所有者的用户名。
nice命令:您可能需要按照指定的优先级执行命令。为此,请使用 nice 命令。
此时,您需要把您要运行的命令作为 nice 的一个参数。而其另一个参数 -n 可用来设置优先级别。默认情况下 nice 将设置优先级为 10。
比如,您想要创建一张linux 安装 CD-ROM 的 ISO 映像
dd if=/dev/cdrom of=~/mdk1.iso
在某些装配标准 IDE CD-ROM 的系统上,复制大量信息的进程将消耗过多系统资源。要避免复制操作阻碍其他进程,您可以用如下命令在一个比较低的优先级上启动该进程:
nice -n 19 dd if=/dev/cdrom of=~/mdk1.iso然后就可以继续工作了。
注:dd命令作用是用指定大小的块拷贝文件,并在拷贝的同时进行指定的转换。详细用法点击
信号:每个进程都能响应,一共有64个不同信号,序号从1开始或符号名称(SIGx,其中x是信号的名称),其中32个“高端”信号(33到64)是实时信号。碰上死掉的进程可以向它发送9号信号。
ps命令和pstree命令:用来显示系统当前运行的进程列表。
常用执行命令:ps ax | less ;a:显示由其他用户启动的进程;x:显示没有控制终端或控制终端不是当前终端的进程
pstree -up | less ;-u:显示启动该进程的用户名;-p:显示每个进程的PID
kill命令:用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。
命令格式:kill[参数][进程号]
通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。
注意:1、root用户将影响用户的进程,非root用户只能影响自己的进程。
2、可以使用 kill 0 命令来撤销所有后台作业。
3、kill -l命令查看所有信号列表
4、普通用户只能使用不带signal参数的kill命令或最多使用-9信号。
5、init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的!
killall命令:用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
命令格式:killall[参数][进程名]
top工具:同时完成ps和kill的功能,用于实时监视进程的CPU和内存使用情况、执行时间。类似于Windows的任务管理器