2010-08-05 39 views
0

是否有可能阻止zend引擎釋放在PHP中分配的資源?是否有可能阻止zend引擎釋放資源?

例如,當進程分叉()並且資源被複制到子進程時,當子進程或父進程退出時,資源是空閒的,因此其他進程不能再訪問它們。

+1

或者它不自動釋放資源? – innocenat 2010-08-05 07:13:43

回答

0

釋放資源並不是問題,因爲父母和孩子無法獲得彼此的資源。也許你在談論MySQL連接。問題是,即使你不打電話mysql_close()它被稱爲php。這是一個例子

mysql_connect(...); 
if(pcntl_fork()) exit(); 
mysql_query(...); //no mysql connection here 

聽說父母可以通過與SIGKILL殺死自己防止這一點,但我沒有測試它。應該是這樣的:

mysql_connect(...); 
if(pcntl_fork()) { 
    posix_kill (posix_getpid() , SIGKILL); 
    exit(); // won't hurt to leave it here 
} 
mysql_query(...); //no mysql connection here 

或者,如果家長開始許多兒童和他們關閉在退出,你可以使用對兒童同樣的方式連接到數據庫。