2011-03-25 75 views
1

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

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

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

感谢所有

回答

1

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

+0

非常感谢这些信息,我从SIGTERM得到了提示,并且我能够调试,因为我使用SIGTERM发送kill(),但没有使用signal()命令来捕获该信号。 ....再次感谢 :) – Teotia 2011-03-25 08:54:20

0
Terminated

常常是输出程序的情况下发送的信号SIGTERM

开始这在一个终端:

$ sleep 10 
Terminated 

从另一个终端:

$ killall sleep -SIGTERM 

我不完全肯定你的过程为什么收到SIGTERM,但我想知道你的孩子是否拨打exit(2)或直接调用,而不是调用pthread_exit(3)或者其功能结束。