线程连接中的 TERMINATED 消息

发布于 2024-10-27 04:08:10 字数 170 浏览 2 评论 0原文

我在 UNIX 上的套接字编程中使用 pthreads。当父线程等待其子线程加入时,我在最后收到一条消息“终止”,这不是我从程序中打印出来的语句。

有人可以帮助我并告诉我这条消息的原因是什么吗?

当父线程等待连接并且子线程开始退出时会发生这种情况,但最终我收到此消息。

感谢大家

I am using pthreads on unix in socket programming. When the parent thread is waiting for it's child to join, I receive a message "Terminated" at the very end, this is not a statement that I am printing out from my program.

Could anybody help me and can tell what could be the reason for this message?

This happens when parent is waiting on join and child threads starts to exit, but eventually I am getting this message.

Thanks to all

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

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

发布评论

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

评论(2

冷弦 2024-11-03 04:08:10

您的 shell 会打印“已终止”消息,因为它注意到您的应用程序已被 SIGTERM 终止。这可能是由于您的代码中存在错误 - 我们需要查看源代码才能找到它。

The "Terminated" message is printed by your shell since it noticed that your application was killed with a SIGTERM. This is likely due to a bug in your code - we'd need to see source in order to find it.

二货你真萌 2024-11-03 04:08:10

Terminal 通常是程序收到 SIGTERM 信号时的输出:

在一个终端中启动:

$ sleep 10
Terminated

从另一个终端:

$ killall sleep -SIGTERM

我不完全确定为什么你的进程会收到一个SIGTERM,但我想知道您的孩子是否直接调用 exit(2)exit(3),而不是调用 pthread_exit( 3) 或从其功能的末端脱落。

Terminated is often the output when a program is sent the SIGTERM signal:

Start this in one terminal:

$ sleep 10
Terminated

From another terminal:

$ killall sleep -SIGTERM

I'm not entirely sure why your process is receiving a SIGTERM, but I wonder if your child is calling exit(2) or exit(3) directly, rather than calling pthread_exit(3) or falling off the end of its function.

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