
_START_ARTICLE_
SIGSEGV
_START_SECTION_
语源
_START_PARAGRAPH_
SIG是信号名的通用前缀。SEGV是segmentation violation（段违例）的缩写。
_START_SECTION_
使用
_START_PARAGRAPH_
对于不正确的内存处理（见段错误），计算机程序可能抛出SIGSEGV。操作系统可能使用信号栈向一个处于自然状态的应用程序通告错误，由此，开发者可以使用它来调试程序或处理错误。_NEWLINE_在一个程序接收到SIGSEGV时的默认动作是异常终止。这个动作也许会结束进程，但是可能生成一个核心文件以帮助调试，或者执行一些其他特定于某些平台的动作。例如，使用了grsecurity补丁的Linux系统可能记录SIGSEGV信号以监视可能的使用缓存溢出的攻击尝试。_NEWLINE_SIGSEGV可以被捕获。也就是说，应用程序可以请求它们想要的动作，以替代默认发生的动作。这样的动作可以是忽略它、调用一个函数，或恢复默认的动作。在一些情形下，忽略SIGSEGV导致未定义行为。_NEWLINE_一个应用程序可能处理SIGSEGV的例子是调试器，它可能检查信号栈并通知开发者当前所发生的，以及程序终止的位置。_NEWLINE_SIGSEGV通常由操作系统生成，但是有适当权限的用户可以在需要时使用kill系统调用或kill命令（一个用户级程序，或者一个shell内建命令）来向一个进程发送信号。