【发布时间】:2015-12-07 16:20:28
【问题描述】:
在C标准库的<signal.h>中,有效信号包括
SIGABRT abnormal termination, e.g., from abort
SIGFPE arithmetic error, e.g., zero divide or overflow
SIGILL illegal function image, e.g., illegal instruction
SIGINT interactive attention, e.g., interrupt
SIGSEGV illegal storage access, e.g., access outside memory limits
SIGTERM termination request sent to this program
它们是在操作系统(例如 Linux)中实现的相同信号吗?我的意思是操作系统中实现的信号被操作系统用来通知进程,它独立于C标准库,处于C编程语言和C标准库的较低级别。
为了使我的问题更清楚(尽可能),让我做一个类比。 C++ 中的异常及其处理与操作系统中的中断及其处理不同。后者在 OS 中实现,独立于 C++ 编程语言,低于 C++。
【问题讨论】:
-
没有“规则”说它们是相同的 - C 信号源自它们的创世硬件,因此与该机器的汇编语言相关。不应做任何假设。
标签: c operating-system signals