进程组,会话,和作业是什么关系?
进程组是一个或者多个进程的集合
会话是一个或者多个进程组的集合
一个会话可以有一个控制终端,一个会话可以有一个前台进程组和若干后台进程组,终端的输入和终端产生的信号发送给前台进程组。
UNIX环境高级编程上说:作业控制允许在一个终端上启动多个作业(进程组),它控制哪一个作业可以访问终端,以及哪些作业在后台运行。
可是没给出作业的概念,作业=进程组 吗?
也就是说一个会话可以有多个作业?
------解决方案--------------------
shell可以同时运行一个前台作业和任意多个后台作业,一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成,这称为作业控制。可以通过fg和bg命令控制作业的前后台运行。由于一个session只能有一个前台进程组,如果某个进程组需要在前台运行,shell所在的进程组就自动变为后台进程组。
希望你满意。