第七章 进程管理

一.进程的基本概念

1. 进程的定义

是指程序关于某个数据集合的一次运行活动

(程序:具有一定目的性的指令集合

作业:用户提交给计算机要执行的程序)

2. 作业控制含义

控制用户正在运行的进程行为称为作业控控制

3. 进程的类型

交互进程:由shell启动,可以工作在前后台

批处理进程:不需要与终端相关,提交在等待队列的作业

守护进程:shell/linux系统自动启动,工作在后台,用于监视特定服务

 4.进程启动方法

 1)手工启动

前台:直接输入程序名(如:#vi

后台:程序名后加&(如:#vi&

  2)调度启动

  系统在指定时间运行指定的程序(at.batch.cron

二.进程管理的常用命令

1. ps

  功能:显示系统的进程信息

格式:ps  [参数]

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

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

   -x 显示没有终端的进程

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

    -w 宽行显示

 实例:# ps    显示当前用户进程

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

 USER PID %cpu %mem  vsz   rss    tty  stat  start  time command 

   Root  1 0.0  .3   1096  476     ?    s    18:20      0:04      init

USER:   进程的启动用户

PID:      进程号(进程的唯一标识)

CPU:   占CPU的百分比

MEM:  占用内存百分比

VSZ   虚拟内存大小

RSS   内存大小(真实)

TTY:   进程的工作终端(?表示没有终端)

START: 进程的态状(S:休眠状态;R:运行态状;D:不可中断休眠状态;T:等待状态;Z:昏睡)

状态符号后面可以加上以下符号:

 W:进程退出内存    N:高级别进程

 <:低级别进程           

 

 Start  :启动时间

 Time : 占用的cpu的时间

Command : 运行的程序

2. top

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

格式:top

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

top的操作命令:

help 获取top的帮助

k: PID:杀死指定的进程

q:退出top

3. kill

功能:终止进程

格式:kill [参数] PID

参数:-1    从终端发出结束信号

-4   ctrl+c

-5    从键盘发出退出请求(ctrl+\

-9    强制终止程序

-15   kill的默认信号

-e 显示信号值列表

实例:ps

         kill  -9   3

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

     # kill  - 9 1-8   杀死1到8号进程

# kill  -9  0(表示所有后台进程)

4. killall

功能:终止进程

格式:killall  程序名

实例:#killall   vsftpd (杀死所有对应vsftpd程序的进程)

5. 设置进程优先级

优先级范围:-20-20(值越小表示级别越高,默认为10)

(1) nice

  格式:nice 优先级 命令

 实例:# nice –5  ls

         # nice -5  vi

(2) renice 优先级 PID

实例:# renice –6  727

6. 作业的前后台操作

(1)jobs

功能:查看后台作业

实例:# jobs

(2)fg

功能:把后台的程序调入前台运行

格式:# fg   [程序编号]

实例:#fg (队首的作为调入前台运行,最后入队列作业处于队首)

      #fg 2(将队列中的2号调入前台运行)

3bg

功能:将后台等待程序转入后台运行

格式:bg  程序编号(ctrl+Z将前台程序转入后台停止运行)

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

实例:#bg  (将队首的作业调入后台运行,最后入队列作业处于队首)

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

三.任务的自动化

1. at (后台运行)

功能:安排系统在指定时间运行程序(只运行一次)

格式:at   [参数]    时间

参数:-m 指任务结束后会发送mail通知用户

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

      -g [a-z]:指定使用的队列

      时间的表示方法:

      绝对:midnight   当天午夜

            moon      当天中午

            teatime     当天下午4

            hh:mm     mm/dd/yy

      相对:  now+n minutes (从现在起向后n分钟)

             now+n days  (从现在起向后n天)

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

             now+n wecks (从现在起向后n周)

      实例:# at  21:00 3/17/2004

>ls

>cd /etc

>init 0

ctrl+d(结束作业步)

2. batch

功能:安排一个作业让系统在指定时间运行(cpu经负载情况下)

格式:batch [参数(同 at参数)]  时间

实例:# batch  now+3 minutes

# batch  17:00 03/19/2004

3. cron

  功能:安排作业让系统在指定时间周期运行

    原理:cron进程,每隔一分钟,检查/var/spool/cron目录下用户提交的作业文件中有无任务需要运行

配置:(1)建立crontab文件

     # vi /root/root.cron

格式:分    时     日     月       星期        要运行的程序

       0    12      1      1        *      /sbin/shutdown –r now 

0数字表示具体时间,*表示任何时间)

0   8—12    *      *        *         /sbin/tar –xzfvetc.tar.gz /etc/ 

8-18从某时间到某时间)

25  0-23/2    *      12       *           rm –f /tmp/* 

0等同于**/n:N///月,0-23/2表示每隔2小时,即:0:25,2:25,4:25

30    *      *      1,3,5     *           dump    

135:多种可用“,”隔开)

2)运行crontab命令

功能:生成用户的cron文件

格式:crontab  [参数   文件名

参数:-u 用户名:指定具体用户的cron文件

      -r          删除用户的crontab文件

      -l          显示用户的cron文件

  实例:# crontab /root/root.cron (建立当前标准格式用户crontab文件)

       # crontab  –r  删除当前用户的cron文件

配置案例:root用户在每周2,4,6早上3点启重系统

     # vi /root.cron(以root用户登录)

 0   3    *  *   2,4,6    /sbin/shut\down   -r    now 

     # crontab   /root.cron

注意:1etc/at.denyetc/at/allow用于控制用户运行at的任务

       at.denyat.allow不存在,所有用户都能执行

       at.deny:at.deny文件记录的用户外其他用户都可以执行

       at.allow:只有at.allow中的用户执行at

       at.denyat.allow都存在:at.allow中除at.deny中所记录的用户,剩余的用户可以执行at

2)默认的crontab 文件有:

/etc/cron.hourly

  /etc/cron.weekly

  /etc/cron.moonly

  /etc/cron.daily

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值