Linux进程管理(1)

来源:互联网 发布:食材seo 超过美食天下 编辑:程序博客网 时间:2024/06/05 00:47

一.进程的概念

1.进程和程序的区别

    (1) 程序是静态概念,本身作为一种软件资源长期保存,而进程是程序的执行过程,他是动态的概念,有一定的生命期,是动态产生和消亡的.

    (2)程序和进程无一一对应的关系,一个程序可以由多个进程共用,一个进程在活动中也可顺序的执行若干个程序.

打个比喻,有一位有着好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕,他有做生日蛋糕的食谱,厨房里有所需的原料. 在这个比喻中,做蛋糕的食谱就是程序(即用适当形式描述的算法), 计算机科学家就是处理器(cpu), 而做蛋糕的各种原料就是输入数据.  进程就是厨师阅读食谱,取来各种原料以及烘制蛋糕等一系列的总和.


2.父进程与子进程

(1)子进程是由一个进程产生的,产生这个子进程的进程称为父进程.

(2)在Linux中,使用系统调用fork创建进程. fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境.

(3)父进程终止子进程自然终止.


3.前台进程与后台进程

(1)前台进程:

      在shell提示处打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户给出提示符.用户在它完成之前不能执行另一个命令. 我们平时用的命令创建的进程大部分都是前台进程.

(2)后台进程:

     在shell提示符处打入命令后,随后加上一个&,这样的就是后台进程,后台进程的运行并不会影响我们输入下一个命令, 

例如我在后台打开一个文件

看,这个进程在后台运行,我们仍可以继续输入命令.


4.进程的状态

进程有三种最基本的状态:

(1)运行态:进程占用CPU,并在CPU上运行;
(2)就绪态:进程已经具备运行条件,但是CPU还没有分配过来;
(3)阻塞态:进程因等待某件事发生而暂时不能运行;



二.进程管理的命令

1.查看用户信息 w

直接运行w命令,会显示当前所有用户的信息.


从左至右依次是登录的用户, 登录的终端, 时间, 不知道,  jcpu是以终端代号区分,该终端的进程执行所消耗的cpu的时间, pcpu是cpu执行程序耗费的时间, what是用户正在执行的操作. 上面那个load average表示系统的平均负载程度, 如果它们的平均值在0.8以下,则说明系统负载较轻, 当这个值很高时,系统就快GG了.


2.查看系统中的进程  ps

常用选项有:

-a :显示所有用户的进程

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

-x :显示没有控制终端的进程

-e :显示所有进程

-l :长格式显示

-w: 宽行显示

-f :显示进程的完整信息

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

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

ps -le | grep 进程名 查看指定进程的信息


PID : 进程号

PPID:父进程的进程号

TTY: 进程启动的终端

STAT(S): 进程当前状态: S为休眠状态,R为运行状态,Z为僵尸状态,D为不可终端的休眠状态, T停止,l 进程是多线程, < 高优先级任务.  

僵尸进程: 子进程终止时,它与父进程的关系还会保持,直到父进程也正常终止或父进程调用wait才告结束.因此,进程表中代表子进程的表项不会立刻释放.虽然子进程已经不再运行,但它仍然存在于系统中,因为它的退出码还需要保存起来,以备父进程今后的wait调用使用.这时它将成为一个死进程或僵尸进程.

NI(nice值): 进程优先级

3.杀死进程 kill 

关闭进程:  kill 进程号

强行关闭进程 : kill -9 进程号

重启进程: kill -1 进程号

闭图形程序 :  当某个图形程序无响应不能退出时, 输入命令xkill鼠标会变成一个叉,然后左键点击那个程序就会关闭, 如果想取消按右键就可以了.

结束所有进程: killall

查找进程的PID: pgrep  进程名

关闭进程名相关的所有进程: pkill 进程名

4.nice 和 renice

(1)nice:指定程序的运行优先级, 范围为 -20 到 19, 值越小优先权就越大 ,缺省值是0.

格式: nice -n command,  如 nice --5 command 

(2)renice :改变一个正在运行的进程的优先级

格式: renice n pid (注意没有横杠)

5.进程的挂起和恢复

(1). 进程的挂起和终止

挂起: crtl + z 

终止:  crtl + c (这个常用, 用来结束当前命令)

(2) 进程的恢复

恢复到前台继续执行: fg

恢复到后台继续执行:bg

(3)查看被挂起的进程 :  jobs

6. top 命令 : 进程状态显示和进程控制

常用选项:

d:指定刷新时间

c:显示整个命令行而不仅仅显示命令名 



直接在当前页面按下d或c,即可更改选项.

0 0
原创粉丝点击