当前位置:嗨网首页>书籍在线阅读

15-进程组和shell任务控制

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.13 进程组和shell任务控制

shell执行的每个程序都会在一个新进程内发起。比如,shell创建了3个进程来执行以下管道命令(在当前的工作目录下,根据文件大小对文件进行排序并显示):

5.png 除Bourne shell以外,几乎所有的主流shell都提供了一种交互式特性,名为任务控制。该特性允许用户同时执行并操纵多条命令或管道。在支持任务控制的shell中,会将管道内的所有进程置于一个新进程组或任务中。(如果情况很简单,shell命令行只包含一条命令,那么就会创建一个只包含单个进程的新进程组。)进程组中的每个进程都具有相同的进程组标识符(以整数形式),其实就是进程组中某个进程(也称为进程组组长process group leader)的进程ID。

内核可对进程组中的所有成员执行各种动作,尤其是信号的传递。如下节所述,支持任务控制的shell会利用这一特性,以挂起或恢复执行管道中的所有进程。