gpt4 book ai didi

linux - 使所有线程休眠 linux/unix

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:37 25 4
gpt4 key购买 nike

我正在linux/unix中编写一个程序,我想让所有线程休眠,从其中一个线程调用(当然也包括那个线程)。我该怎么做?

sleep() 仅休眠调用进程/线程,我希望所有这些都休眠。提前致谢。

最佳答案

懒惰的解决方案是 fork 一个子进程并向父进程发送 STOP 信号,这将挂起父任务。

pid_t apid = fork();
if (apid == 0) { /* Child */
kill(getppid(), SIGSTOP);
sleep(60);
kill(getppid(), SIGCONT);
exit(0);
} else if (apid > 0) { /* Parent */
int state;
waitpid(apid, &state, 0);
} else { /* error */
perror("fork");
}

它可能不太符合您的要求,但这是一种懒惰的方式。

关于linux - 使所有线程休眠 linux/unix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19806619/

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