首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux:实时信号

Linux:实时信号
EN

Stack Overflow用户
提问于 2021-05-25 19:29:35
回答 2查看 345关注 0票数 1

我正在用实时信号测试不同的场景,无法找到每个信号的含义,比如SIGRTMIN+1和SIGRTMIN+13。

我能够发送和接收信号,但试图理解所有的SIGRTMIN+n信号的含义。例如,我根据我的程序发送了大量的信号,其中之一是杀死一个进程:

代码语言:javascript
复制
/* The child process executes this function. */
void
child_function (void)
{
  /* Perform initialization. */
  printf ("I'm here!!!  My pid is %d.\n", (int) getpid ());

  /* Let parent know you’re done. */
  kill (getppid (), SIGUSR1);

  /* Continue with execution. */
  puts ("Bye, now....");
  exit (0);
}

我想了解这些SIGRTMIN+13,如果我通过这个传递来强制终止一个进程,它是如何工作的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-26 12:29:41

实时信号被设计用于应用程序定义的目的(这取决于你给它们一个意义),它们有被排队和伴随着标准信号不可能的数据的优势,为了有效地使用它们,它们被使用sigqueue() "not ()“发送,并由sigaction(σ) "not ()”处理。

票数 1
EN

Stack Overflow用户

发布于 2022-10-25 11:40:30

我真的可以推荐你读这页手册SIGRTMIN为用户定义的实时信号定义了可以选择的最低数字。默认情况下,如果尚未实现信号处理程序,则任何程序都应该对此信号进行未定义的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67694449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档