Итак, я понимаю, что Windows не поддерживает модель Unix fork-exec и вместо этого порождает процессы. Однако эмуляция вилки Strawberry Perl создает дочерние элементы с отрицательными PID. Эти PID кажутся непротиворечивыми, но я не понимаю, почему они отрицательные или, на самом деле, как Perl эмулирует форк Unix.
use strict;
use warnings;
my $cpid = fork();
if ($cpid == 0) {
printf "%s\n", "I'm the child, pid is $$";
} else {
printf "%s\n", "I'm the parent, pid is $$, cpid is $cpid";
}
Получается что-то похожее на:
I'm the parent, pid is 3428, cpid is -2600
I'm the child, pid is -2600