越努力越幸運--2-LD_PRELOAD, fork ,僵屍進程
阿新 • • 發佈:2018-06-23
load 別人 新的 glib IT pre .cn 參考 問題
開始新的工作了,做了爸爸之後感覺一直都是渾渾噩噩,希望老婆和寶寶一直健康開心~
最近遇到的問題很多啊,哈哈
1. 裝環境時候,需要的glibc 版本不對,我把本地的軟鏈接改了個別名(慣性思維),然後一堆基本的linux命令失效,原先的glibc也拿不過來了,尷尬。
解決辦法: LD_PRELOAD=/lib64/libc-2.5.so mv /lib64/libc.so.6.bak /lib64/libc.so.6
2. 做壓力測試的時候,fork n個子進程,子進程有運行次數限制,當高並發的時候,父進程處理SIGCHLD可能會丟失信號,產生僵屍進程。
解決辦法在父進程處加個SIGCHLD的處理方法
int SigChldProc(int iSigNo) { pid_t tPid = 0; while ((tPid = waitpid(-1, NULL, WNOHANG)) > -1); return OK; }
參考的別人的博文:https://www.cnblogs.com/wuchanming/p/4020463.html
越努力越幸運--2-LD_PRELOAD, fork ,僵屍進程