计算机网站建设考试试卷,镇江发展,网站建设的基本要求,wordpress锁思考
代码中创建的会话#xff0c;如何关联控制终端#xff1f; 新会话关联控制终端的方法
会话首进程成功打开终端设备 (设备打开前处于空闲状态)
1、关闭标准输入输出和标准错误输出2、将 stdin 关联到终端设备#xff1a;STDIN_FILENO 03、将 stdout 关联到终端设…思考
代码中创建的会话如何关联控制终端 新会话关联控制终端的方法
会话首进程成功打开终端设备 (设备打开前处于空闲状态)
1、关闭标准输入输出和标准错误输出2、将 stdin 关联到终端设备STDIN_FILENO 03、将 stdout 关联到终端设备STDOUT_FILENO 04、将 stderr 关联到终端设备STDERR_FILENO 0 一些相关推论
新会话关联控制终端后会话中所有进程生命期与控制终端相关
只有会话首进程能够关联控制终端 (会话中的其他进程不行)
进程的标准输入输出与标准错误输出可以进程重定向
由描述符 012 决定重定向的目标位置 (按顺序打开设备)控制终端与进程的标准输入输出以及标准错误输出无直接关系 一个大胆的想法 代码示例 会话与终端深度实验 什么是守护进程 (Daemon) ?
守护进程是系统中执行任务的后台进程
不与任何终端相关联 (不接收终端相关的信号)生命周期长一旦启动正常情况下不会终止 (直到系统退出)Linux 大多服务器使用守护进程实现 (守护进程名以后缀 d 结尾) 守护进程的创建步骤
1、通过 fork() 创建新进程成功后父进程退出
2、子进程通过 setsid() 创建新会话
3、子进程通过 fork() 创建孙进程 (肯定不是会话首进程)
4、孙进程修改模式 umask()改变工作目录为 /
5、关闭标准输入输出和标准错误输出
6、重定向标准输入输出和标准错误输出 (/dev/null) 守护进程关键点分析
父进程创建子进程是为了创建新会话
子进程创建孙进程是为了避免产生控制进程
孙进程不是会话首进程所以不能关联终端
重定向操作可以避开奇怪的进程输出行为 创建守护进程