我对Linux API sem_unlink()有点困惑,主要是在什么时候或为什么调用它。我在Windows中使用信号量已经很多年了。在Windows中,一旦关闭了命名信号量的最后一个句柄,系统就会删除底层内核对象。但是在Linux中,开发人员需要通过调用sem_unlink()来删除内核对象。我遇到的问题是,如果进程A调用sem_unlink(),而进程B锁定了信号量,它会立即销毁信号量,现在当进程C出现时,进程B不再受信号量的“保护”。更重要的是,手册页充其量也是令
我目前正在开发"Creation of Postmortem data logger in Linux on Intel architecture"。它只不过是核心实用程序的创建。有没有人可以分享关于在Linux内核中内部实现的应用程序崩溃时,产生core dump的各种信号(SIGSEGV,SIGABRT,SIGFPE etc)的信号处理器的细节。我需要根据自己的用户需求重写这些信号处理程序,并重新构建内核。有没有人能分享一下它的细节...感谢所有的回答者:)