在做signal的handler的設定時 最好在用完想要的功能之後要還原回原本系統設定的signal預設值 BUG: 我在server的地方因為用fork來處理每一個新client 所以我在fork之前都做了signal(SIGCHLD,SIG_IGN); 但就因為這樣,所以我之後wait到的child pid都是-1(系統設定的,wait的man page有寫) 得到這種東西: strerror(errno)=No child processes 所以我就讀不出child process的exit stauts SOLUTION: 在fork完之後,給個處理新client的process一開始就做 signal(SIGCHLD,SIG_DFL); 就可以了 好了,今天的筆記到此結束 希望有幫助未來遺忘這些的自己,以及需要的人