我正在用实时信号测试不同的场景,无法找到每个信号的含义,比如SIGRTMIN+1和SIGRTMIN+13。
我能够发送和接收信号,但试图理解所有的SIGRTMIN+n信号的含义。例如,我根据我的程序发送了大量的信号,其中之一是杀死一个进程:
/* 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,如果我通过这个传递来强制终止一个进程,它是如何工作的。
发布于 2021-05-26 12:29:41
实时信号被设计用于应用程序定义的目的(这取决于你给它们一个意义),它们有被排队和伴随着标准信号不可能的数据的优势,为了有效地使用它们,它们被使用sigqueue() "not ()“发送,并由sigaction(σ) "not ()”处理。
发布于 2022-10-25 11:40:30
我真的可以推荐你读这页手册。SIGRTMIN为用户定义的实时信号定义了可以选择的最低数字。默认情况下,如果尚未实现信号处理程序,则任何程序都应该对此信号进行未定义的行为。
https://stackoverflow.com/questions/67694449
复制相似问题