On some platforms such as Windows, where the fork() system call is not available, Perl can be built to emulate fork() in the Perl interpreter. The emulation is designed to, at the level of the Perl program, be as compatible as possible with the "Unix" fork(). However it has limitation that has to be considered in code intended to be portable. See L for more details. #### On some platforms such as Windows where the fork() system call is not available. Perl can be built to emulate fork() at the interpreter level. This emulation has limitation related to kill that has to be considered, for code running on Windows and in code intended to be portable. See L for more details. #### The process which implements the pseudo-processes can be blocked and the Perl interpreter hangs. #### =head1 PORTABLE PERL CODE In portable Perl code, kill(9, $child) must not be used on forked processes. Forked process are in Windows implemented as a pseudo-processes. To use kill(9, $child) on pseudo-processes is unsafe. The process which implements the pseudo-processes can be blocked and the Perl interpreter hangs. The outcome of kill on a pseudo-process is unpredictable. It depends on the timing in the Windows operating system. Code that has worked, suddenly can fail, resulting in errors which are difficult to find.