2012-06-17 46 views
0

我在Linux下編寫一個PHP腳本程序。在腳本中,我需要使用exec調用許多其他系統工具/程序來實現某些目標。我知道每當我在終端中運行一個shell腳本時,一個新的子進程將被創建並與父進程一起運行。如果我在我的PHP腳本中使用了太多的exec,並且應該有許多進程來回運行,我認爲這將是低效率的,因爲進程權重很大。使用exec進行高效PHP編程

這裏是我的問題:在Linux中接近編程目標的有效方式和常見模式是什麼? PHP會在這種情況下理想嗎?

+2

這不夠具體。例如,可以將所有任務放到一個腳本的所有實例中共享的一箇中央'exec()'或一個守護進程中,但這是否可能,完全取決於你的目標是什麼* –

+0

您能否請更具體地說明如何使用在腳本的所有實例之間共享的守護進程來實現此目的?任何示例?謝謝! – cache

+0

你在什麼情況下使用每種模式? – cache

回答

1

即使使用exec的開銷不僅僅是一個標準的PHP函數調用,我根本不會認爲它很昂貴。這是一種非常有效的做事方式,當你牢記安全考慮時,我會說它沒有任何問題。

您可能會問是否過早優化是否值得麻煩?那麼我會說不。

+0

我認爲他的問題更多的是他是'exec()'的東西 - 這確實很快就會變得討厭。想象一下,10個用戶啓動一個ImageMagick進程,每個進程需要200MB的內存.... –

+0

哈哈,想象一下,讓你的當地運動隊把卡車駛入你的道路上的所有房屋。有想法?即使你有一個每個需要200MB內存的PHP函數,並且你有10個用戶啓動了它,與exec變體的區別也是最小的。當然是 – hakre

+0

。 PHP部分並不是他的問題所在,即使他可能不知道。在目前的狀態下,這是無法回答的,因爲他並不是說他想做什麼 –