sigqueue(3)的手册页指出,可以将整数或指针作为参数传递给接收信号的进程。

传递指针是否意味着发送方和接收方已经有一个显式共享内存区域?

我考虑的上下文是使用SIGHUP向长时间运行的Linux程序指示其命令行应该已经更改。显然,我知道有很多其他方法可以使用unix域套接字等实现这一点。

1答案1

重置为默认值
2

是的,它假设发送方和接收方已经有一个共享内存区域,该指针地址就在该区域中。否则,与发送方相比,该指针将指向接收方端的其他内存值。

要获得共享内存,您可以使用shm_open(_O)管理程序

1
  • 非常感谢。另一种选择是由内核处理临时存储,但在检查了数据结构后,我认为情况可能并非如此。 评论 5月26日16:52

你必须登录来回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.