Linux笔记——linux进程

 列表:

Linux笔记——vim常用操作及扩展补充[手册]

Linux笔记——linux常用命令集合

Linux笔记——命令:awk

Linux笔记——命令:sed

Linux笔记——命令:grep

Linux笔记——命令:find

Linux笔记——命令:Sort,uniq,join,cut,paste,split

Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数

Linux笔记——条件测试test

Linux笔记——控制流

Linux笔记——shell补充:参数传递&函数等

Linux笔记——正则表达式入门及应用

Linux笔记——linux进程

Linux笔记——SVN命令总结

rpm&yum包管理命令总结

 

鉴于博客,表格&排版&颜色标记等等无法显示,大家可以下载这个笔记的资源

12个文档,不需要积分,以目录+表格+颜色标记形式

下载资源地址http://download.csdn.net/detail/wklken/3815477

 

The end!  Thx!       wklken的笔记

-----------------------------------------------

录入时间:2011/6/19

版本:1.0


 

进程的概念

q 概念:一个进程是一个程序的一次执行的过程。

q 操作系统通过进程来控制对CPU和其他系统资源的访问,并且使用进程来决定在CPU上运行哪个程序、运行多久。

q  Linux系统的一个重要特点:可以同时启动多个进程。

q 进程和程序不同:

   程序是静态的,是保存在磁盘上的可执行代码和数据的集合;

   进程是动态的,是Linux系统的基本调度单位。

q 父进程和子进程

   一个进程创建新进程称为创建了子进程(child process)

   创建子进程的进程称为父进程。

q 进程号

   PIDProcess Identity number。一个PID唯一地标识一个进程。

   PPIDParent Process ID。进程的父进程号。

q Init进程

   内核启动后的第一个进程,其PID=1

   扮演终结父进程的角色,所有进程追溯其祖先最终都会落到init进程身上。

q 因为init进程永远不会被终止,所以系统总是可以确信它的存在,并在必要的时候以它为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,此时那些失去了父进程的子进程就都会以init作为它们的父进程。

查看命令

ps [-options]

 

列出当前进程清单,不跟任何选项表示查看系统中属于自己的进程

显示的进程列表是一个静态列表

-ef:察看当前系统中运行的所有进程

-aux:显示系统中所有用户进程及其所有者,并显示详细的进程信息

 

top [-] [d delay] [q] [C] [c] [S] [s] [i] [n]

 

列出进程清单

显示的是可根据真实情况 ,定时更新的运行进程列表

d delay:指定更新的时间间隔(delay),以秒计算。
n
     指定更新的次数,到达指定次数后将会退出top

q 交互命令

[Space]立即刷新显示。

d    设置刷新进程的时间间隔,你会被提示输入一个数(秒)

q    退出top命令。

k    杀死某进程。你会被提示输入进程 ID以及要发送给它的进程号。      

h    显示帮助屏幕

n    显示的进程数量。你会被提示输入数量。

u    按用户排序。

M    按内存用量排序。

P    CPU 用量排序。

jobs [-options]

用于显示和控制后台正在执行的和被挂起的任务序列

-l:显示后台任务的进程号与讯息。

-p:只显示后台任务的 PID

-n:显示上次通知用户后,执行状态有更动的后台任务状态。

-r:显示执行中的后台任务。

-s:显示暂停执行的后台任务。

 

 

进程的启动方式

q 执行一个程序à启动了一个进程

q 启动进程的两个主要途径:

   手工启动:

                                当时设置当时启动;

   调度启动:

用户可事先进行设置安排,指定任务运行的时间或场合,到时候由系统自动启动进程完成此项任务。

手工启动的两种方式

q 前台启动

   启动一个进程后,如果不中断或挂起该进程,用户会一直被禁止与 Shell进行交互,直至该进程执行结束。

   并非单进程状态。

   经常用于一般Linux命令的执行,和一些不太耗时的进程的启动。   

q 后台启动

   启动进程后,用户仍可以与Shell进行交互。

   可用于一些耗时长的作业运行。

前台进程和前台启动

q 由前台启动的进程为前台进程

q 前台进程在执行过程中与屏幕键盘等终端进行交互,对终端有完全的控制权,直到该进程被终止或者中断

q 前台启动举例:

                           $cat file1

q 前台进程的停止:

                         <Ctrl+c>

q 前台进程的挂起:

                         <Ctrl+z>

后台进程和后台启动

q 由后台启动的进程称为后台进程

q 后台进程在执行过程中不与终端进行通信,若要察看他的执行状况必须通过相关的进程管理命令

q 对于耗时长的进程,不应该让它在前台执行,而应该交给后台执行。

q 后台进程的启动方法:

 $command &

q 终止和挂起后台进程:

  使用kill命令

 

 

 

kill [-option] [signal] {PID  | %job ID}

-s指定需要送出的信号,既可以是信号名也可以是对应数字

signal -信号。与-s配合使用。不指定则送出信号 15(TERM)。

pid -要终止的进程号。

    job ID - 要终止的进程对应的后台任务编号

n 信号15TERM

Ø 终止进程运行

Ø  kill命令的缺省信号

Ø 经常用于后台进程的终止。

Ø 当某个进程占用的CPU时间过多,或是某进程已经挂死,可以用这种方法终止其执行。

Ø  root用户外,一般用户只能终止属于自己的进程。

n 信号09

Ø  强制终止进程

         注意:kill –l查询kill可以送出的信号列表

               

                 01             挂起

                 02             中断

                 09             强制终止一个进程

                 15             (缺省)正常终止一个进程

 

进程的挂起和恢复

q 进程挂起

     前台进程的挂起:

                                <Ctrl+z>

    后台进程的挂起:

                                kill –s 01 {PID|%job ID}

q 进程恢复

    恢复到前台:

                               fg %jobID

   恢复到后台:

                              bg %jobID

 

使用nohup命令运行后台进程

q 用户退出系统时,一般来说会结束该用户的所有正在运行的程序

q 如果某些后台程序没有执行完,怎么办?

q nohup命令使进程在用户退出后仍能继续执行

q 格式:

   nohup {command|script}  &

   command:命令

   script:程序或脚本

{a|b}ab中必选一项

q nohup.out文件:

   存放运行后的所有错误和输出信息。

   处于用户主目录下。

Ø test用户:/home/test/nohup.out

 

你可能感兴趣的:(04-Linux)