面试题答案
一键面试- 父进程启动:
- 关键操作:
- 创建多个子进程。通过
fork
系统调用创建子进程,fork
会复制父进程的地址空间等资源给子进程,父进程返回子进程的进程ID,子进程返回0。 - 父进程通常会监听一个特定的端口,等待客户端连接。例如使用
socket
、bind
、listen
等函数完成网络套接字的初始化并监听指定端口。
- 创建多个子进程。通过
- 关键操作:
- 子进程启动:
- 关键操作:
- 子进程在
fork
返回后,因为返回值为0,所以可以根据此判断进入子进程逻辑。 - 子进程通常会关闭不需要的文件描述符,如父进程监听的套接字描述符(因为监听套接字在父进程监听即可,子进程只负责处理连接),避免资源浪费和错误使用。
- 子进程等待接收父进程传递过来的任务(例如新的客户端连接),当有任务时,执行相应的处理逻辑,如处理客户端请求等。
- 子进程在
- 关键操作: