c笔记

1 signal(SIGCHLD, SIG_DFL); ret = system(buf); signal(SIGCHLD, SIG_IGN);

默认情况下,父进程会接收到这个信号并调用wait()来回收子进程的资源。但如果父进程不希望等待子进程结束,它可以选择忽略SIGCHLD信号。这样,子进程将成为“僵尸进程”,但不会占用系统资源,因为内核会在子进程结束时自动回收这些资源.

如果服务器进程需要等待每个子进程结束,这会增加处理时间并降低并发性能。通过将SIGCHLD信号设置为忽略,可以让内核自动回收这些资源,从而提高服务器的性能

posted @ 2024-01-11 10:41  MoonXu  阅读(3)  评论(0编辑  收藏  举报