2011-03-25 76 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)或者其功能結束。