2009-09-17 34 views
-1

我的問題與在Perl代碼中使用fork()有關。 我希望分叉一個新進程並捕獲它的PID並將其返回給被調用程序。 Perl中有一些命令會使這成爲可能嗎?如何分叉一個新的進程,並在Perl中取回PID?

+3

-1 - 你與fork命令有關,但你顯然沒有看到它的perldoc。 – 2009-09-17 13:39:14

+0

嘗試閱讀叉子的文檔。 :) – 2009-09-17 13:54:44

回答

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

'我們是值得驕傲的父母......'除非孩子還沒有生還......還有第三條道路 - 如果$ pid是undef。 – 2009-09-17 14:03:56

+0

更新,謝謝 – 2009-09-18 07:16:17

13

是,fork

從該頁面引用:

它返回兒童PID父 過程0子進程,或 undef如果叉是不成功的。

4

嗯,Perl的fork函數返回的孩子PID父和0到孩子,這不就是你想要什麼?

6

fork將子pid返回給父項,將0返回給子項。