我在套接字编程中使用unix上的pthreads。当父线程正在等待它的孩子加入时,我在最后收到一条消息“Terminated”,这不是我从程序中打印出来的语句。线程加入中的终止消息
有没有人可以帮助我,并可以告诉可能是什么原因这条消息?
父母等待连接并且子线程开始退出时发生这种情况,但最终我收到了此消息。
感谢所有
我在套接字编程中使用unix上的pthreads。当父线程正在等待它的孩子加入时,我在最后收到一条消息“Terminated”,这不是我从程序中打印出来的语句。线程加入中的终止消息
有没有人可以帮助我,并可以告诉可能是什么原因这条消息?
父母等待连接并且子线程开始退出时发生这种情况,但最终我收到了此消息。
感谢所有
的“终止”消息是由你的shell印刷,因为它发现你的应用程序是用SIGTERM
杀害。这可能是由于您的代码中存在一个错误 - 我们需要查看源代码才能找到它。
Terminated
常常是输出程序的情况下发送的信号SIGTERM
:
开始这在一个终端:
$ sleep 10
Terminated
从另一个终端:
$ killall sleep -SIGTERM
我不完全肯定你的过程为什么收到SIGTERM
,但我想知道你的孩子是否拨打exit(2)
或直接调用,而不是调用pthread_exit(3)
或者其功能结束。
非常感谢这些信息,我从SIGTERM得到了提示,并且我能够调试,因为我使用SIGTERM发送kill(),但没有使用signal()命令来捕获该信号。 ....再次感谢 :) – Teotia 2011-03-25 08:54:20