
信号的产生



继续:




接着捕捉信号
当 CPU 执行「该进程的用户代码」(比如你写的 main 函数、普通计算逻辑)时,CPU 处于用户态,我们就说 "进程运行在用户态";
当 CPU 执行「内核代码」(比如处理该进程的系统调用、中断)时,CPU 处于内核态,我们就说 "进程运行在内核态"。
这句话对应的典型流程是:
你的进程(比如./a.out)在用户态执行,触发系统调用(如read());
CPU 切换到内核态,执行内核代码(帮你的进程完成read()操作);
内核处理完系统调用后,恢复你进程的上下文(寄存器、程序计数器等);
CPU 从内核态切回用户态,继续执行你进程的用户代码(比如read()之后的指令)




接着用户态和内核态



自定义捕捉的另一种方法





完。