In reading Killing a hanging child process, most of the discussion seemed very Unix-oriented. (E.g. focusing on "fork" which is a terrible way to run a system command on Windows. See perlfork for details.)
One reply recommended Proc::Reliable, so I went to check that out, and then started looking at other similar modules on CPAN.
So far, the "best" -- loosely defined by me to mean portable, featureful and relatively efficient -- appears to be Proc::Background. (See this review, too.) Has anyone else used it? Any thoughts or reactions?
Here's a very short list of modules that I quickly examined with some observations.
Proc::Background: Separate sub-modules for Unix and Win32 modes; API could be extended to other OS as necessary.
Proc::Command: Piped open instead of backticks
Proc::Reliable: Uses fork, even on Win32
Proc::Simple: Tests fail/hang on Win32. (Not so simple, I guess).
qr/Proc::Fork/: All these would appear to use fork, of course.
What modules have I missed? What are your experiences or suggestions for portable process management?
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
In reply to Portable Proc modules by xdg
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |