如何分叉新进程并在Perl中恢复其PID?

时间:2009-09-17 11:32:16

标签: perl unix fork

我的问题与在Perl代码中使用fork()有关。 我希望fork一个新进程并捕获它的PID并将其返回给被调用程序。在Perl中是否有一些命令可以实现这一点?

4 个答案:

答案 0 :(得分:13)

是的,fork

从该页面引用:

  

将子pid返回给父级   处理0到子进程,或   如果fork不成功,则undef

答案 1 :(得分:6)

fork将子pid返回给父级,0返回给子级。

答案 2 :(得分:6)

my $pid = fork();
if ($pid == 0)
{
    # We are the child.
}
elsif defined($pid)
{
    # We are the parent of child with PID=pid
}
else
{
    # The fork failed
}

答案 3 :(得分:4)

好吧,Perl的fork函数将PID的子项返回到父项,将0返回给子项,这不是您想要的吗?