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

gag*_*eet -1 unix perl fork

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

dsm*_*dsm 13

是, fork

从该页面引用:

它将子pid返回到父进程,0子进程或 undeffork不成功.


Ark*_*nez 6

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


Dav*_*kes 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
}
Run Code Online (Sandbox Code Playgroud)

  • "我们是自豪的父母......"除非这个孩子是死产的......还有第三条道路 - 如果$ pid是undef. (3认同)