Hello everybody, I am creating a C program of ESL outbound for call processing. I am using testserver.c example, and till now it seems fine. But i noticed that every call testserver process, a new process is being created which I can see in Linux system with below command: For example, when I make two calls and even after hangup, I saw three process like below: ps -A | grep testserver 9345 pts/2 00:00:00 testserver 9350 pts/2 00:00:00 testserver 9357 pts/2 00:00:00 testserver This get increased for every call i make. I did some workout and placed below two lines (close & exit) at the end of mycallback function, (as I found them on ivrd.c file): esl_disconnect(&handle); close(client_sock); exit(0); } But after that the process becomes defunct/zombie 9440 pts/2 00:00:00 conflisten 9442 pts/2 00:00:00 conflisten <defunct> 9452 pts/2 00:00:00 conflisten <defunct> Will anybody please suggest me how can I eliminate this process, which remains in memory even after call hangup? Thanks for any response. MohammedShehzad