孤儿进程
父进程比子进程先退出,这种子进程被称为孤儿进程。
解决办法
不用解决。
孤儿进程会被1号进程托管,1号进程会等待正常孤儿进程的退出信号并释放其系统资源。部分情况下会主动将进程变为孤儿进程满足业务需求。
当子进程退出时,父进程没有回收子进程的资源,此时子进程退出但部分信息仍记录在系统中没有清楚。这种进程被成为僵尸进程。
大量的僵尸进程会对系统有严重危害,应该避免产生僵尸进程。
解决办法:
- 父进程在子进程退出时处理SIGCHLD信号,在信号处理函数中wait()或waitpid()
- 直接杀死父进程,让子进程成为孤儿进程被1号进程托管,1号进程会处理孤儿进程和僵尸进程。