linux signals

Signal NameNumberDescription描述
SIGHUP1Hangup (POSIX)终止进程 终端线路挂断
SIGINT2Terminal interrupt (ANSI)终止进程 中断进程 Ctrl+C
SIGQUIT3Terminal quit (POSIX)建立CORE文件终止进程,并且生成core文件 Ctrl+|
SIGILL4Illegal instruction (ANSI)建立CORE文件,非法指令
SIGTRAP5Trace trap (POSIX)建立CORE文件,跟踪自陷
SIGIOT6IOT Trap (4.2 BSD)建立CORE文件,执行I/O自陷
SIGBUS7BUS error (4.2 BSD)建立CORE文件,总线错误
SIGFPE8Floating point exception (ANSI)建立CORE文件,浮点异常
SIGKILL9Kill(can’t be caught or ignored) (POSIX)终止进程 杀死进程
SIGUSR110User defined signal 1 (POSIX)终止进程 用户定义信号1
SIGSEGV11Invalid memory segment access (ANSI)建立CORE文件,段非法错误
SIGUSR212User defined signal 2 (POSIX)终止进程 用户定义信号2
SIGPIPE13Write on a pipe with no reader, Broken pipe(POSIX)
SIGALRM14Alarm clock (POSIX)终止进程 计时器到时
SIGTERM15Termination (ANSI)终止进程 软件终止信号
SIGSTKFLT16Stack fault
SIGCLDSIGCHLDSame as SIGCHLD (System V)
SIGCHLD17Child process has stopped or exited, changed(POSIX)
SIGCONT18Continue executing, if stopped (POSIX)忽略信号 继续执行一个停止的进程
SIGSTOP19Stop executing(can’t be caught or ignored)(POSIX)
SIGTSTP20Terminal stop signal (POSIX)停止进程 终端来的停止信号 Ctrl+Z
SIGTTIN21Background process trying to read, from TTY(POSIX)
SIGTTOU22Background process trying to write, to TTY(POSIX)
SIGURG23Urgent condition on socket (4.2 BSD)忽略信号 I/O紧急信号
SIGXCPU24CPU limit exceeded (4.2 BSD)终止进程 CPU时限超时
SIGXFSZ25File size limit exceeded (4.2 BSD)终止进程 文件长度过长
SIGVTALRM26Virtual alarm clock (4.2 BSD)终止进程 虚拟计时器到时
SIGPROF27Profiling alarm clock (4.2 BSD)终止进程 统计分布图用计时器到时
SIGWINCH28Window size change (4.3 BSD, Sun)忽略信号 窗口大小发生变化
SIGPOLLSIGIOPollable event occurred (System V)
SIGIO29I/O now possible (4.2 BSD)忽略信号 描述符上可以进行I/O
SIGPWR30Power failure restart (System V)
SIGSYS31/* Bad system call. */
SIGUNUSED31
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux操作系统中,当我们遇到"signals.sigsegv: 11"错误时,它意味着程序发生了段错误(Segmentation Fault)。段错误是一种非法的内存访问错误,它发生在程序试图访问不属于它的内存区域的时候。 通常情况下,段错误是由以下几种情况引起的: 1. 空指针引用:当程序试图使用一个指向空地址的指针时,就会触发段错误。这通常是因为指针没有被正确初始化或者在返回之前被释放引起的。 2. 栈溢出:当程序的递归深度太大或者使用了过多的本地变量,就有可能导致栈溢出,进而触发段错误。 3. 动态内存管理错误:当程序使用了过多的动态分配的内存(如malloc、new等),并且没有正确释放,就有可能出现内存泄漏,最终导致段错误。 4. 数组越界访问:当程序试图访问一个超出数组边界范围的元素时,就会触发段错误。这通常是由于循环索引错误或者数组大小计算错误引起的。 当出现"signals.sigsegv: 11"错误时,我们需要通过执行追踪工具(如gdb)来找到错误的原因和位置。通常会打印出错误的堆栈跟踪信息,指示出触发段错误的具体行号和函数名。通过定位到错误位置,我们可以检查具体的代码逻辑,查找并修复问题。 为了避免段错误的出现,我们应该遵循良好的编程习惯,包括正确初始化指针、避免栈溢出、正确释放动态分配的内存、确保数组访问不越界等。另外,使用调试工具对程序进行调试也是一种有效的方法,可以帮助我们找到并解决潜在的段错误问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值