使用 Control + C 突然结束进程是陷阱还是中断?

ara*_*lar 1 c linux signals process interrupt

陷阱和中断之间的区别似乎很明显:陷阱是对内核的软件调用(例如通过异常),而中断与硬件(磁盘、I/O 和外设)相关。鼠标和键盘等设备...)(在此处了解有关差异的更多信息)。

知道了这一点,按 Control + C 结束进程应该属于什么类别?它是一个软件调用的调用,因此是一个陷阱,因为它可以从 Shell 等执行,还是一个中断,因为它是 CPU 从键盘接收的信号?或者中断完全在用户域之外,这意味着它是硬件在用户无法达到的级别上与 CPU 交互?

谢谢你!

小智 6

它首先是一个信号\xe2\x80\x94,按下 Control-C 会导致内核向当前前台进程发送一个信号(SIGINT 类型)。如果该进程尚未为​​该信号设置处理程序(使用来自signal()系列中的系统调用之一),则会导致该进程被终止。

\n\n

我认为该信号是“中断”信号,但这与硬件中断无关。这些仅由内核内部使用。

\n