Linux系统进程管理的分析与探究

2015-10-21 18:43李洋庞立滨
科技与企业 2015年16期
关键词:进程终端

李洋 庞立滨

【摘要】系统在执行多道程序时需要共享资源,而这种共享资源就会导致各个程序之间出现相互制约,这些过程都是动态的,而程序本身是一组指令的集合,这是静态的过程,我们为了能够准确去描述程序动态的整体执行过程,就引入了“进程(Process)”这个概念。进程是具有一定独立功能的程序,程序可以包括进程,进程也可以包括程序,进程是操作系统动态执行的基本单元,既属于基本的分配单元,也是最基本的执行单元,本文是就以linux中进程的概念、分类、启动方式及使用方法、注意事项进行分析和研究。

【关键词】进程;终端;虚拟内存

一、Linux进程的基本概念

1、进程就是指系统在进行资源分配和调度所需要的最基本单位,也是一个具有独立功能的程序的一次运行过程。实际上就是每一个程序模块还有它执行时所要处理的数据共同组成了进程。

2、理解进程和程序的区别:●程序是静态的,但进程都是动态的●程序是永久的,但进程都是有生命的●一个程序可以包含若干个进程,同样的,一个进程也可以包含若干个程序

3、进程号。Linux之中每一个进程都拥有一个唯一的标识号,被称为PID(Process ID)。系统启动后的第一个进程是init,它的进程号是1。init是惟一一个由系统内核直接运行的进程,也是系统中所有进程的起源。除了init之外,每个进程都有父进程。

二、 Linux进程的分类

当你启动Apache程序的时候,linux系统会自动为它分配一个进程号,然后我们就可以使用这个进程号来监视和控制这个程序,观察它的运行状态。我们一般把进程分为以下3大类:1)交互式的进程:由一个Shell命令来启动的进程。这些进程常和用户发生交互,要有一定的时间来等待用户的操作。这种进程既可以在后台运行,当然也可以在前台来运行。如控制台命令shell,文本编辑器等。2)批处理的进程:不与特定的终端相关联,也就是不需要交互,主要是在后台运行的进程。如编译器、数据库搜索引擎等。3)守护进程:一般是由系统在开机时自动激活启动或是由超级管理用户root来启动,对调度有严格的要求,不能被低优先级进程阻塞,一般运行于后台。如音视频应用程序等。

三、进程管理的常用命令

1、ps的应用。-功能:用来显示系统进程的各方面信息,方便我们监视和控制程序。-格式:ps[参数]-参数:

进程的状态(STAT)。R,进程处于运行(系统的当前进程)或者准备运行状态(等待系统分配CPU);S,进程处于睡眠状态;T,追踪或停止;Z,僵死进程(zombie),进程已经结束但因没有妥善处理尚未释放所有资源;W,进程没有固定的pages;<,高优先级的进程;N,低优先级的进程。作为一个Linux系统管理员,其主要的一个核心任务就是进程的监视和控制。"ps"就是这样的一个监视Linux的标准工具,它会显示正在运行的程序信息。比如,哪些程序运行多长时间和使用多少CPU,哪些程序是哪个用户来运行的等等。当我们需要人为来判定是哪个程序会让系统变慢或是终止程序的时候,这些信息则是必需的。用户可以通过ps命令看到所有的进程,包括正在运行的和没有运行的。其中,USER域指明了是由哪个用户启动了这个命令。这个信息可以帮助你缩小问题范围,假设某一个用户占用了服务器大量的I/O,如果我们能够很快找到它,那么就可以释放其所占据的资源。通过ps命令,用户可以实时地查看每个进程的状态,如占用了多少CPU,查看内存的状态及VSZ(虚拟内存大小)和RSS(常驻集大小)的运行状态。我们可以通过这些数据,来确定这个进程是在正常运行还是出现了异常。我们是在尽力确保正确合理地运用系统资源,所以经常要由管理员来决定对进程进行终止或重启的操作。

2、kill的应用

进程通信:Linux中,kill命令是通过向进程发送指定的信号来结束进程的。前台进程在运行时,可以用【ctrl+c】键来终止它。后台进程可以使用kill命令向进程发送强制终止信号,以达到终止进程的目的。-功能:终止正在运行的进程或作业;-格式:kill [选项] PID

3、进程调度

进程调度就是通过合理的调度,选择下一个要运行的进程,系统资源才能最大限度地发挥作用,多进程才会有并发执行的效果。而进程之间是资源竞争通过谦让度来实现的。谦让度的值从-20到19。高谦让度表示进程优先级别最低,执行的顺序靠后。nice命令:是在创建进程时为进程指定谦让度的值。renice命令:是通过进程ID找到相应的进程,用此命令来修改谦让度,即是更改进程的优先级。

4、交互式的进程管理工具。●系统监视器gnome-system-monitor●终止进程工具xkill●监视系统任务的工具top。总之,Linux系统上每个用户任务、每个系统的守护进程,我们都称为进程。Linux系统则用分时管理的方法能够使所有的任务共同来分享系统上的资源。而我们要做的就是如何去控制这些进程,让它们能够很好地为用户服务。

作者简介

李洋.单位:天津工程職业技术学院.邮政编码:300270.

猜你喜欢
进程终端
多核一个都不落CPU极限这样用
联通5G CPE:为终端提供5G接入能力
Dalvik虚拟机进程模型研究
快速杀掉顽固进程
不留死角 全方位监控系统
谁在后台偷偷搞“串联”
“吃人不吐骨头”的终端为王
完美终端
酒业传统终端向资本血拼迈进
中外民主法制进程专题复习