一个进程什么时候得到SIGABRT(信号6)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (69)

进程在C++中获得SIGABRT的场景是什么?这个信号总是来自进程内部,还是可以从一个进程发送到另一个进程?

有什么方法可以确定哪个进程正在发送这个信号吗?

提问于
用户回答回答于

abort()将调用进程发送给SIGABRT信号,这就是abort()基本上有效。

abort()通常由检测内部错误或严重破坏的约束的库函数调用。例如malloc()会打电话abort()如果其内部结构被堆溢出损坏。

用户回答回答于

可以使用kill(2)接口:

kill -SIGABRT 30823

30823是dash我启动了进程,这样我就可以很容易地找到我想要终结的进程。

$ /bin/dash
$ Aborted

扫码关注云+社区