|
|
1
5
不确定Parallel::ForkManager实现,但如果它与标准fork()类似,则返回0,因为您在子进程中。fork将只向父进程返回非零PID。 我忘了添加,因为在开始调用之后有了“和下一个”,代码的行为与预期完全一致。 注意编辑2: 由于从开始调用中删除了“and next”,父进程也在运行下载。我猜21892是父进程的PID,它将在循环中运行多次 |
|
|
2
5
关于您在edit2下的代码: 你改变了
到
现在你的叉子做得不正确。以前只有子进程继续执行循环体,父进程接受 下一个 ,现在两者都继续执行循环体。因此,您会看到父级(21892)的PID多次执行循环。 |
|
|
3
4
看到那条线了吗?
父级获取PID,子级将只看到0。如果要从子进程中获取PID,只需使用magic变量
更新:
对该行的引用并不意味着邀请更改该行。但是看看它,很明显$pid在后面的代码中将是0,所以它不应该让人惊讶
|
|
|
4
0
这将为您提供子PID,并继续使用fork处理代码。 |