按下Ctrl+C发生了什么?
Ctrl+C :中断当前运行的程序。
这个中断由一个称为信号的内核机制产生。
按下 Ctrl+C 后发生的相应事件链:
- 用户输入Ctrl+C
- 驱动程序收到字符
- 匹配 VINTR 和 ISIG 的字符被开启
- 驱动程序调用信号系统
- 信号系统发生
SIGINT
到进程 - 进程收到
SIGINT
- 进程消亡
中断信号的按键组合不一定非得是 Ctrl+C ,可以使用 stty 将当前的 VINTR 控制字符换成另一种键。
Ctrl+C :中断当前运行的程序。
这个中断由一个称为信号的内核机制产生。
按下 Ctrl+C 后发生的相应事件链:
SIGINT
到进程SIGINT
中断信号的按键组合不一定非得是 Ctrl+C ,可以使用 stty 将当前的 VINTR 控制字符换成另一种键。