我在socket编程中使用unix上的pthreads。当父线程正在等待它的子进程加入时,我在最后收到一条消息“已终止”,这不是我从我的程序中打印出来的语句。
有人可以帮助我,可以说出这条消息的原因是什么?
当父级正在等待连接并且子线程开始退出时会发生这种情况,但最终我收到此消息。
感谢所有
答案 0 :(得分:1)
“终止”消息由shell打印,因为它发现您的应用程序被SIGTERM
杀死了。这可能是由于您的代码中存在错误 - 我们需要查看源代码才能找到它。
答案 1 :(得分:0)
Terminated
信号时, SIGTERM
通常是输出:
在一个终端开始:
$ sleep 10
Terminated
来自另一个终端:
$ killall sleep -SIGTERM
我不完全确定您的流程为什么会收到SIGTERM
,但我想知道您的孩子是直接拨打exit(2)
还是exit(3)
,而不是致电pthread_exit(3)
或者从功能结束时掉下来。