Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1668162
  • 博文数量: 1493
  • 博客积分: 38
  • 博客等级: 民兵
  • 技术积分: 5834
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-19 17:28
文章分类

全部博文(1493)

文章存档

2016年(11)

2015年(38)

2014年(137)

2013年(253)

2012年(1054)

2011年(1)

分类:

2012-07-31 14:00:14

原文地址:linux 进程管理 作者:zhangjiefly5

1.进程的概念

进程和程序的区别:

           1.程序是静态概念,本身做为一种软件资源长期保存。

             进程是动态概念,程序的执行过程,有一定的生命周期,是动态产生和消亡的。

           2.进程和程序不是一一对应的关系。一个程序可以有多个进程所共用,一个进程活动中可以顺序执行多个程序。

父进程和子进程的关系:

           子进程是有一个叫做父进程的进程产生的。

           linux中,系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。 

           父进程结束后子进程便自然终止。(僵尸进程和孤儿进程区别:?)

后台进程和前台进程:

shell的提示符#或$后面输入command后创建一个子进程,执行该命令。shell等待命令退出(是不是该子进程结束了???),然后返回给用户一个命令提示符。command与shell异步运行。用户在command1运行期间不可以同时运行command2。   :command1即在前台运行。

            用户在shell提示符后直接输入command & ,系统不等待command退出而立即返回提示符,command与shell同时运行。后台运行的命令必须是非交互的(如 ping)。  :command 即在后台运行。

进程状态(三个:就绪、运行、等待):

2.进程管理命令

     1.查看用户信息 w 及 w user:

     2.查看系统进程:ps

a:显示所有用户的进程

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

          x:显示没用终端控制的进程(进程还有没有终端控制的吗???)

          e:显示所有的进程,包括没有终端控制的。

          l:长格式显示

          w:宽行显示,可以使用多个w,加宽显示。

3.ps输出信息含义:

          PID:进程号

          PPID:父进程号

          TTY:进程启动的终端

          NI:进程当前优先级

          STAT:进程当前状态

                S:休眠

                Z:僵尸

                T:停止

                R:运行
                D:不可中断的休眠

          TIME:只从启动以来所占用CPU的总时间;

          CMD:进程的命令名字;

          %CPU:占用CPU时间和总时间的比

          %MEN:占用内存和系统总内存的比

4.ps应用实例:

        ps    查看隶属自己的进程

        ps -u or -l 查看隶属自己进程的详细信息

        ps -le or -aux 查看所有用户执行进程的详细信息

        ps -aux --sort pid 可按进程执行的时间、PID、PPID...对进程排序显示

   eg: ps -aux | grep samlee

       ps -le | grep init

    5.kill  杀死进程  :  kill 进程号

         kill -9 PID  强行关闭进程

         kill -1 PID   从启进程

         xkill   关闭图形进程

         killall   杀死所有进程

         pgrep 服务及名称 :   查找服务器进程

         pkill 进程名   :关闭进程(不用知道进程PID)

   6.nice 和 renice

      nice   指定进程的优先级(刚开始的时候)

         格式:nice -n  command

      renice   修改运行中的进程的优先级

         格式:renice n PID

      优先级的n 值的取值范围是-20-19

   7.nohup

      格式:nohup program &

       进程所属的用户退出后,进程任然继续执行。将执行的数据信息和错误信息默默的保存在nohup.out文件中。

   8.进程的终止和挂起

     进程终止: ctrl + c

     进程挂起: ctrl + z

     前台进程转后台: bg

     后台进程转前台: fg

      查看被挂起的进程: jobs

 9.top 动态查看进程

    u: 查看指定用户进程

   k:终止执行中的进程

   h or ? : 获得帮助

   r: 重新设置进程优先级

   s: 改变刷新的时间间隔

   W:将当前设置写入:~/toprc文件中

3.计划任务

    at:安排作业在某一时刻执行

    cron: 安排作业周期性的执行

  bath :安排作业在系统负载不重时执行。

   1。at命令的功能和格式

        功能:安排一个或多个命令在指定的时间运行一次。

        格式及参数:

               at [-f filename] time

                at -d or atrm  删除队列中的任务

                at -l or atq 查看队列中的任务

        at的绝对计时法:

             midnight noon teatime

             hh:mm [today]

             hh:mm tomorrow

             hh:mm 星期

            hh:mm MM/DD/YY

        at的相对计时法:

              now + n minutes

              now + n hours

              now + n days

         at指定时间的方式:

              at 5:30pm

              at 17:30

              at 17:30 today

               at now + 3 hours

               at  now + 180 minutes

               at 17:30 1/8/12

               at 17:30 8.1.12

        at使用范例:

              1.交互方式

                    at 9:00

               2.使用命令文件方式

                    1.写一个at.script

                    2.使用at命令

                           at -f at.script 9:00 1/8/12

                           or

                           at < at.script 9:00 1/8/12

       at的配置文件

         etc/at.deny

         etc/at.allow

     2.batch 命令

        安排一个或多个命令在系统任务较轻时使用(一般系统的负荷在0.8以下)

        使用方法雷同at命令

      3.crontab命令

           1. 作用:用于生成cron进程所需的crontab文件

           2. 格式:

                crontab {-l|-r|e}

                -l:显示当前的crontab文件

                -r:删除当前的crontab文件

                -e:当前的编辑crontab文件

               minute hour day-of-month month-of-year day-of-week commands

               minute  一小时中那一部分时间【0-59】

               hour   一天中那个小时 【1-23】

               day -of-mounth 一月中那一天 【1-31】

                mounth-of-year 一年中那一个月 【1-12】

                 day-of-week  一周中那一天 【1-7】

                 command 执行命令

  书写注意事项:

         1.每一个选项不可空,都必须填,若不知道值使用通配符*表示任何时间。

         2.每一个时间段都可以指定多个值,不连续的时间用逗号,连续的时间段使用-。

         3.命令最好给出绝对路径。

         4.用户必须具有运行所对应命令或程序的权限。

    crontab实例:

           

 

  crontab配置文件

     1.etc/cron.allow

     2.etc/cron.deny

4.进程处理方式

    standalone 独立运行

    atd  crond 计划任务

    xinetd 进程托管

 

    

    

   

阅读(282) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~