请教一个关于创建进程的问题

请教一个关于创建进程的问题

首先给出脚本如下:
......

print "PID = $$\n";

my $child = fork();
die "cannot fork: $!\n" unless defined $child;

if ($child > 0)
{
      print "Parent process: PID = $$, child = $child\n";
}
else
{
     my $ppid = getppid();
     print "Child process: PID = $$, parent = $ppid\n";
}
这是perl网络编程里的一个小脚本,运行结果为cannot fork,且每次打印出的PID都不一样....
请问:
1、为何无法创建子进程,是不支持fork还是?
2、第一句话打印出的PID是当前进程的PID么?为什么每执行一次,打印出来的值都不一样?
大家帮忙看看吧,谢谢哦^_^
2.每次执行这一Perl程序,shell都会开一个子进程,当然pid号就不一样了
1.你确定你没有敲错?
我这边运行没有问题
确定没有,不知道是不是我用的unix环境的问题,该环境下无法使用perldoc,貌似也不支持fork.....不知是什么原因?高手指点下哈^_^
具体的系统
我在windows sp2上没问题嘛
我想问一下fork成功后,子进程和父进程的代码怎么区分?
my $pid = fork ()
fork这个函数可以说是执行一次,返回两次
在父进程中,$pid为子进程的pid号
在子进程中,$pid为0
根据这个就可以区分了
具体

[Copy to clipboard] [ - ]
CODE:
perldoc -f fork