AIX,子进程退出时父进程无法捕获 SIGCHLD

发布于 2024-09-24 02:01:18 字数 129 浏览 16 评论 0原文

我的父进程无法捕获 SIGCHLD,即使它处于 waitpid(SIGCHLD... 状态。 尝试从子级向父级提供显式的kill(SIGCHLD ..)以测试父级没有收到信号。而且风格是AIX...我们需要使用一些标志或一些环境设置来编译它吗?

my parent process is unable to catch the SIGCHLD even though its on waitpid(SIGCHLD... for it.
Tried giving an explicit kill(SIGCHLD..) to the parent from the child to test the parent is not receiving the signal .also the flavor is AIX...do we need to compile it with some flags or some env setup ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我恋#小黄人 2024-10-01 02:01:18

您需要注册一个信号处理程序来捕获 SIGCHLD。 waitpid 与 SIGCHLD 相关但不同。使用 signal(3)sigaction(2) 注册您的信号处理程序。

要使用 waitpid do:

pid_t x = fork();
...
pid_t y = waitpid(x, &status, options);

SIGCHLD 实际上只是告诉您需要调用等待函数之一。

You need to register a signal handler to catch SIGCHLD. waitpid is related but different from SIGCHLD. Use either signal(3) or sigaction(2) to register your signal handler.

To use waitpid do:

pid_t x = fork();
...
pid_t y = waitpid(x, &status, options);

SIGCHLD really just tells you that you need to call one of the wait functions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文