2011-04-19 62 views
1

我在c中設計了一個消息傳遞接口,用於提供在我係統中運行的不同進程之間的通信。該接口爲其目的創建10-12個線程,並使用TCP套接字來提供通信。收到SIGTERM

它工作正常,但有時它接收到信號SIGTERM。任何人都可以告訴我爲什麼它收到這個信號。

+0

是否在您的過程中指示「殺死」? SIGTERM是默認信號。 – wallyk 2011-04-19 05:50:41

+1

也許你可以在你的接口中爲信號註冊一個處理程序,並在處理程序中輸出發送了SIGTERM(struct siginfo_t.si_pid)的進程的PID的值。 – itisravi 2011-04-19 05:53:24

+0

沒有人指示殺死我的進程,它自己突然收到SIGTERM – honey 2011-04-19 06:03:47

回答

1

如果一個人不殺你的進程,那麼內核就是。

當一臺機器試圖從溺水中拯救自己(您已經用完所有內存/交換/資源)時,可能會發生這種情況。當您的流程運行時,可能想看看該系統上發生了什麼。