07 Linux进程管理

目录

引言.

一、进程与作业

(一)定义

1.进程

2.作业

(二)进程的基本状态及转换

1.基本状态

2.状态转换

(三)进程的类型

1.交互进程

2.批处理进程

3.守候进程

二、进程的启动方式

(一)手工启动进程/启动程序/执行命令

(二)调度启动

三、进程/作业管理的常用命令

(一)ps命令

(二)top命令

(三)kill命令

(四)killall命令

(五)作业的前后台命令

1.jobs命令

2.fg命令

3.bg命令

(六)nice、renice命令

1.nice命令

2.renice命令

四、进程调度

(一)at调度 (后台运行一次)

(二)batch调度

(三)cron调度


引言.

        Linux是一个多用户、多任务操作系统。在这样的系统中,各种计算机资源的分配和管理都以进程为单位,为了协调多个进程对这种共享资源的访问,操作系统要跟踪多种进程的活动,以及他们对系统资源的使用情况,从而实施对进程和资源的动态管理。

一、进程与作业

(一)定义

1.进程

        进程是指一个具有独立功能的程序的一次运行过程,也是系统进行资源分配和调度的基本单位。即每个程序模块和它执行时所处理的数据组成了进程。

        进程不是程序,但由程序产生。进程与程序的区别在于:

        (1)程序是一系列指令的集合,是静态的概念,而进程则是程序的一次运行过程,是动态的概念;

        (2)程序可以长期保存,而进程只能暂时存在,动态的产生、变化和消亡;

        (3)进程和程序并不是一一对应的,一个程序可以包含若干个进程,一个进程可以调用多个程序。

        进程标识符PID:每一个新进程都有一个唯一的PID。PPID:父进程的ID。

2.作业

        正在执行的一个或多个相关进程可以形成一个作业。使用管道命令和重定向命令,一个作业可以启动多个进程。根据作业的运行方式不同,可将作业分为两大类:

        (1)前台作业:运行于前台,用户可对其进行交互操作。

        (2)后台作业:运行千后台,不接受终端的输入, 单向终端输出执行结果。

        作业既可以在前台运行也可以在后台运行,但在同一时刻,每个用户只能有一个前台作业。

(二)进程的基本状态及转换

1.基本状态

(1)运行态(Running)

        在CPU上运行。处于这种状态的进程个数不能大于CPU的数目。

(2)就绪态(Ready)

        获得了CPU外的一切资源,可以随时被CPU调用

(3)阻塞态(Blocked)

        也叫等待态,指进程等待某种事件发生而暂时不能运行的状态,即处于封锁状态的进程尚不具备运行条件,即使CPU空闲,它也无法使用。这种状态有时也称为不可运行状态或挂起状态。

2.状态转换

图. 进程状态转换

(三)进程的类型

1.交互进程

        由shell启动,可以工作在前/后台

2.批处理进程

        不需要与终端相关,提交在等待队列的作业。

3.守候进程

        shell/Linux系统自动启动,工作在后台,用于监视特定服务

二、进程的启动方式

(一)手工启动进程/启动程序/执行命令

        1.前台:直接输入程序名。如:#vi

        2.后台:程序名后加&。如:#vi&

(二)调度启动

        系统在指定时间运行指定的程序,可用at、batch和cron调度。

三、进程/作业管理的常用命令

(一)ps命令

1.功能:静态显示系统进程信息

2.格式:ps  [参数]

3.参数:

        -a   //显示所有进程(不包括没有终端的进程)

        -u    //显示用户名和启动时间

        -x    //显示没有终端的进程

        -e   //显示所有进程(不显示进程状态)

4.实例:

        # ps      //显示当前用户进程

        # ps –aux  //显示所有进程信息

(二)top命令

1.功能:动态显示系统进程信息

2.格式:top

3.实例:

        # top  (默认每5秒钟刷新一次)

4.top的操作命令:

        help       //获取top的帮助

        k PID      //终止指定的进程

        q            //退出top

(三)kill命令

1.功能:终止正在运行的进程或作业

2.格式:kill [选项] PID

3.选项:-9  //当无选项的命令不能终止进程时,可强行终止指定进程

4.实例:         

        #kill  2683           //杀死PID为2683的进程

        # kill  -9  3         //杀死PID为3的进程

        # kill  -9  3  5  8     //一次杀死3,5,8多个进程

(四)killall命令

1.功能:终止指定程序名的所有进程

2.格式:

        killall   -9  程序名

3.实例:

        #killall   -9  vsftpd          //杀死所有对应vsftpd程序的进程

(五)作业的前后台命令

1.jobs命令

(1)格式:jobs [选项]

(2)功能:显示当前所有作业

(3)选项:

        -p:仅显示进程号

        -l:同时显示进程号和作业号

(4)格式:jobs

(5)实例:

        # jobs

        # jobs –l

        # jobs -p

2.fg命令

(1)功能:把后台的作业调入前台运行

(2)格式:# fg   [作业编号]

(3)实例:

        # fg       //队首的作业调入前台运行

        # fg  2   //将队列中的2号作业调入前台运行

3.bg命令

(1)功能:将前台作业或进程切换到后台运行

(2)格式:bg  [作业编号]

        ctrl+z            将前台程序转入后台停止运行

        ctrl+c            将终止前台程序的运行

(3)实例:

        #bg             //将队首的作业调入后台运行

        #bg  3        //将3号作业调入后台运行

(六)nice、renice命令

1.nice命令

(1)功能:指定将启动进程的优先级。

(2)格式:nice [-优先级值]  命令

(3)实例:# nice  -5 ftp     // 启动ftp程序,其优先级为5

2.renice命令

(1)功能:修改运行中的进程的优先级。

(2)格式:renice  -优先级值  参数

(3)主要参数:

        -p  进程号   //修改指定进程的优先级

        -u  用户名  // 修改指定用户所启动进程的默认优先级

        -g  群组号  // 修改指定群组中所有用户启动进程的默认优先级

(4)实例:

        # renice  -5  -u  helen    // 将helen用户的进程优先级调高为 -5

四、进程调度

(一)at调度 (后台运行一次)

1.功能:安排系统在指定时间运行一次程序

2.格式:at    [参数]    时间

3.参数:

        -d                 // 删除指定的调度作业

        -m                // 任务结束后会发送mail通知用户

        -f 文件名      // 从指定文件中读取执行的命令

        -q  [a-z]      //指定使用的队列

        -l                  // 显示等待执行的调度作业

4. 时间的表示方法:

(1)绝对表示方法:

        midnight     //当天午夜

        moon        //当天中午

        teatime     //当天下午4点

        hh:mm   mm/dd/yy

(2)相对表示方法:  

        now+n minutes  //从现在起向后n分钟

        now+n days     //从现在起向后n天

        now+n hours   //从现在起向后n小时

        now+n weeks    //从现在起向后n周

5.实例

        # at  21:00  3/21/2009

       >cd  /back/

       >tar -cvf  tmp.tar  /tmp

       >init 0

       ctrl+d     //结束作业

(二)batch调度

1.功能:和at 命令功能几乎相同,唯一区别是如果不指定运行时间,进程将在系统较空闲时运行。batch 调度适合千时间上要求不高,但运行时占用系统资源较多的工作。

2. 格式:

        batch [选项][时间]      //batch 命令的选项同at 命令

(三)cron调度

        周期性计划作业命令,现使用较少,不作详细介绍。

 

 

 注:由H同志编写,欢迎批评指正、交流探讨!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.yh21

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值