WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274
一、服务器基础知识
- Linux系统下的信号
- 信号的处理方式:忽略、捕获、默认处理
- 都有哪些信号:man 7 signal查看系统中有哪些信号
几个重要信号:
- SIGPIPE:管道中止,当写入无人读取的管道时产生该信号,默认终止进程
网略程序必须要处理该信号,否则当客户端退出后,服务器仍然向该SOCKET发数据时,会引起crash - SIGCHLD :子进程结束或停止时发送
处理不当会产生僵尸进程,僵尸进程是一个早已死亡的进程,但在进程表中仍然占有位置
Linux中子进程结束的时候,并没有被完全销毁,因为父进程还要用它的信息
父进程没有处理SIGCHLD 信号或调用wait/waitpid()等待子进程结束,就回出现僵尸进程 - SIGALRM :定时器信号,以秒为单位,默认终止进程
- SIGUSR1/SIGISR2 :自定义,默认终止进程
- SIGINT:键盘输入的退出信号
- SIGQIUT:键盘输入的退出信号 ctrl+c
- SIGHUP:控制终端的挂起信号
后台进程
- fork方式
fork一个子进程,父进程退出,子进程称为孤儿进程,被init进程接管
调用setsid建立新的进程会话
将当前工