有时候,当我调试时,我会收到这样的消息。
Program received signal SIG44, Real-time event 44.
这意味着什么?
谢谢。
编辑:
平台是linux
发布于 2010-11-18 15:11:10
信号是内核发送给进程的消息,目的是通知进程系统中发生了某种类型的事件。
linux上通常的信号是SIGINT (值2,从键盘中断)或SIGKILL (值9,杀死程序)。
当内核检测到一个系统事件时(例如SIGFPE为零除法,值为8),或者当进程调用kill()函数显式地告诉内核向进程发送信号(或者发送到进程本身,调用kill() )时,都会接收信号。
为了做某事,这个过程常常会捕捉到一个信号。
因此,要回答您的问题,代码很可能会调用kill()函数,并在发生事情时向它发送一个值为44的信号。由于您收到了该消息,这意味着该进程已经接收到该信号,并将退出或执行代码中所写的操作,以防该信号出现。
与标准信号不同,实时信号没有预定义的含义:整组实时信号可用于应用程序定义的目的。(但是,请注意,LinuxThreads实现使用了前三个实时信号。)
引用这里的源
发布于 2022-09-27 21:32:50
GNU C++库在发送条件变量时使用SIG44来唤醒休眠线程。
https://stackoverflow.com/questions/4215953
复制相似问题