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上运行哪个程序、运行多久。

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

q进程和程序不同:

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

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

q父进程和子进程

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

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

q进程号

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

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

qInit进程

内核启动后的第一个进程,其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按内存用量排序。

PCPU 用量排序。

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如果某些后台程序没有执行完,怎么办?

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

q格式:

nohup {command|script} &

command:命令

script:程序或脚本

{a|b}ab中必选一项

qnohup.out文件:

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

处于用户主目录下。

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

你可能感兴趣的:(Linux笔记——linux进程)