要搞清楚linux/Unix上,进程、进程组、会话、控制终端、前台进程组、后台进程组神马的,看下面的几篇文章就可以搞清楚了。
- http://blog.ednchina.com/talent8791/238813/message.aspx
- http://learn.akae.cn/media/ch34s02.html
- http://blog.csdn.net/dog250/archive/2010/08/14/5812293.aspx
另,在linux 0.12内核中,有以下几点需要注意:
- fg_console,前台控制台,其实根本就不是字面意义上的前台,它仅仅只是当前正在使用的虚拟控制终端而已(无非就是不同的显示内存区段);
- linux 0.12中没有实现tcgetpgrp和tcsetpgrp,所以前台进程组和后台进程组之间的切换没法完成;
- 所谓的控制终端,可以是虚拟控制台tty,可以使串口终端(通过猫连接),甚至是mpty/spty。只要会话首进程可以打开,平且用于管理/控制作业就OK了。
Austin.D