用uClibc后,发现每次启动screenadjust就zombie了,而用glibc却没这种问题. 分析流程,在/etc/profile里启动了Manager, Manager在类构造函数里注册了SIGCHLD的处理函数(在函数里用waitpid等待), 然后用fork+execvp启动screenadjust,而当screenadjust结束后,Manager未收到SIGCHLD,因此没有回收进程,造成zombie, 实验了一下两次fork的做法,还是没用,最后用system替代了fork+execvp, 就正常了,但原因还未仔细查找,不知道是否因为/etc/profile中启动属于init过程,因此有些问题