控制终端 会话 进程组 守护进程
来源:互联网 发布:卖家如何注册爱淘宝 编辑:程序博客网 时间:2024/05/29 16:53
菜鸟学习,欢迎指正。
控制终端是用户登入时的终端设备(ttyn)或伪终端设备(ttysn、pts/n)。
每次登入就是一个会话,当然也可以setsid()重新生成一个会话;每个会话只有一个前台进程组和若干后台进程组,只有前台进程组拥有控制终端,也就是前台进程组可以利用控制终端进行输入输出,从控制终端发送的SIGINT(ctrl+c)和SIGQUIT(ctrl+\)只发送给前台进程组的所有进程。
从守护进程看进程组的关系:
守护进程的目的是利用一个父进程看守子进程的状态,即在子进程退出时避免僵尸进程的产生(一般子进程退出时向父进程发送SIGCHLD信号,父进程IGN忽略这种信号OK了)。守护进程本身是一个后台进程,并且从属于一个独立的会话(不同于用户登入时生成的会话),并且该进程禁止打开控制终端。
1,实现新的会话:因为进程组的组长进程不能setsid(),所以fork()生成子进程,父进程退出,子进程变为孤儿进程。子进程调用setsid(),变为一个新的会话的进程组的组长。
2,禁止会话重新打开控制终端: 新的会话是不给分配控制终端的,但是组长进程是可以重新打开控制终端的(open(filename,...),filename为/dev/ttyn),因此再一次fork(),父进程退出。
3,清理工作:关闭从父进程继承的打开的文件描述符fd,清除父进程继承的文件访问掩模umask(),重置当前工作目录,设置对子进程信号的处理方式。
- 控制终端 会话 进程组 守护进程
- 进程、控制终端、会话、守护进程
- 进程组、会话、控制终端和守护进程
- 【Linux】终端/进程组/会话/守护进程
- 进程组、会话、控制终端
- 进程组,会话,控制终端
- 进程组,会话,控制终端
- 进程组,会话,控制终端,守护进程(请大家指教)
- 守护进程、进程组、会话
- 进程组、会话、守护进程
- 进程组、会话期、控制终端
- 进程组、会话、作业和控制终端
- 进程组,会话和控制终端
- 进程组、会话、控制终端、作业
- 终端,作业控制,守护进程
- 进程、进程组、会话以及守护进程
- 进程关系之进程组、会话和控制终端
- 进程关系之进程组、会话和控制终端
- 黑马程序员-枚举
- VS2008 下 map/set iterator not dereferencable
- 为什么同时需要IP地址和MAC地址
- 实战DeviceIoControl 之三:制作磁盘镜像文件
- windows 路径相关的shell api
- 控制终端 会话 进程组 守护进程
- 实战DeviceIoControl 之四:获取硬盘的详细信息
- 【spring aop】实现原理与 CGLIB 应用
- 转载_【整理】什么是SPI的bitbang / bit bang / bit-bang / bitbanging(转)
- 实战DeviceIoControl 之五:列举已安装的存储设备
- IOS开发之绘图函数
- C#日期字符串格式化
- 水题三道
- 实战DeviceIoControl 之六:访问物理端口