2011-03-30 55 views
9

我想弄清楚如何在perl腳本(在Windows上)啓動後臺進程。換句話說,我不希望腳本在重新獲得控制權之前等待子進程完成。只需幾行代碼就可以輕鬆完成此操作嗎?我已經看過perldoc的系統命令,但它似乎沒有做我想做的事情。如何在Perl中啓動後臺進程?

+1

應該在SO上。 – TheLQ 2011-03-30 02:13:28

回答

14

請參閱系統:「system(1,@args)產卵外部進程,並立即返回其進程標誌符,而無需等待它終止...的(Win32)」

+0

謝謝,這是在這裏發佈的最簡單的解決方案。正是我在找什麼。 – pepsi 2011-03-30 13:15:26

1

使用fork()函數。

http://hell.jedicoder.net/?p=82對基本用法有很好的解釋。在perlport

+0

fork和exec是否是執行此操作的標準方法? – pepsi 2011-03-30 05:22:22

+1

@pepsi,在Unix上,是的。但Windows沒有真正的「fork」。 – cjm 2011-03-30 06:33:26

+1

不,我通常會在帶有posix shell的系統上執行'system(「someprogram&」)' – ysth 2011-03-30 07:32:45