Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:


I apologize for not posting a totally 100% Perl-related question, but I think it could be helpful to many Perl programmers.

I have a Perl script which is always running, forking child processes when needed. The child processes do their work, and exit.

The problem is that sometimes a child process will hang forever. I do not have a clue which part of my code causes this external loop. It looks like the process hangs after a failed database connect, but I cannot find this loop in my code.

I previously used a Unix command which showed all I/O from a certain process by running CMD PID on the command line. Unfortunately, I don't know which command it was. Can anyone help me remember, or are there better ways to determine what this process is doing so I can fix the eternal loop in my code?

FYI, it occurs only once or twice every week, and I cannot reproduce this loop.

Any help is very much appreciated.

Regards, Marcel