gpt4 book ai didi

C: 需要暂停一个进程直到 sigalrm

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:26 28 4
gpt4 key购买 nike

这段代码有问题..

我需要等待 (sigwait) 一个过程,直到到达两个信号 SIGUSR1/SIGUSR2 (也许我可以使用 sigalrm 捕捉信号?)

#include <signal.h>
#include <stdio.h>

int main()
{
sigset_t set;
int sig;

sigemptyset(&set);
sigaddset(&set, SIGUSR1);
sigaddset(&set, SIGUSR2);
sigprocmask(SIG_BLOCK, &set, NULL);
sigwait(&set, &sig);
printf("Got signal %d\n", sig);
/*need to set Sigalrm?*/
return 0;
}

最佳答案

将管道的读取端传递给 select()。当您捕获到信号时,写入管道。这将导致 select() 返回并继续执行。

关于C: 需要暂停一个进程直到 sigalrm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25583545/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com