越努力越幸运--2-LD_PRELOAD, fork ,僵尸进程

开始新的工作了,做了爸爸之后感觉一直都是浑浑噩噩,希望老婆和宝宝一直健康开心~

最近遇到的问题很多啊,哈哈

  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




猜你喜欢

转载自www.cnblogs.com/ashen/p/9215600.html