线程连接中的TERMINATED消息

时间:2011-03-25 08:35:42

标签: c sockets network-programming pthreads

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

有人可以帮助我,可以说出这条消息的原因是什么?

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

感谢所有

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

当程序发送Terminated信号时,

SIGTERM通常是输出:

在一个终端开始:

$ sleep 10
Terminated

来自另一个终端:

$ killall sleep -SIGTERM

我不完全确定您的流程为什么会收到SIGTERM,但我想知道您的孩子是直接拨打exit(2)还是exit(3),而不是致电pthread_exit(3)或者从功能结束时掉下来。