[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Php > 正文
PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫
http://netleader.126.com 星空浪子 (2001-04-18 16:49:09)

--------------------------------------------------------------------------------
 信號與共享記憶體函式庫 
--------------------------------------------------------------------------------
 


本函式庫共有 9 個函式
本函式庫提供 System V 的信號處理機制。這個機制可以讓系統限制同時使用行程所存取的資源。本函式庫亦提供了記憶體共享的機制,可讓不同的程式存取相同的變數,方便交換程式資訊。
下表為系統的共享記憶體的限制值

SHMMAX 共享記憶體的最大值,一般為 131072 bytes 
SHMMIN 共享記憶體的最小值,一般為 1 byte 
SHMMNI 記憶體共享區段的最大值,一般為 100 
SHMSEG 每個行程所能共享的最大記憶體區段,一般為 6 

 


sem_get: 取得信號代碼。 
sem_acquire: 捕獲信號。 
sem_release: 釋出信號。 
shm_attach: 開啟建立共享記憶體區段。 
shm_detach: 中止共享記憶體區段連結。 
shm_remove: 清除記憶體區段。 
shm_put_var: 加入或更新記憶體區段中的變數。 
shm_get_var: 取得記憶體區段中指定的變數。 
shm_remove_var: 刪除記憶體區段中指定的變數。 


--------------------------------------------------------------------------------
 函式:sem_get() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


sem_get
取得信號代碼。

語法: int sem_get(int key, int [max_acquire] , int [perm]);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式用來取得 System V 系統信號 (semaphore) 的代碼值。參數 key 為存取信號的鍵值。參數 max_acquire 可省略,內定值為 1,表示同時可取得的處理數目。參數 perm 可省略,表示該記憶體區段的控制權限,內定值為 0666。


 
 
參考 


sem_acquire()  sem_release()  

 

--------------------------------------------------------------------------------
 函式:sem_acquire() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


sem_acquire
捕獲信號。

語法: int sem_acquire(int sem_identifier);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式用來捕獲系統信號 (semaphore)。若捕捉信號的數量超過限度 (max_acquire),則行程在捕捉時會先封鎖 (block) 住信號。


 
 
參考 


sem_get()  sem_release()  

 

--------------------------------------------------------------------------------
 函式:sem_release() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


sem_release
釋出信號。

語法: int sem_release(int sem_identifier);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式用來釋出呼叫行程捕獲的系統信號 (semaphore)。成功則傳回 true 值。


 
 
參考 


sem_get()  sem_acquire()  

 

--------------------------------------------------------------------------------
 函式:shm_attach() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


shm_attach
開啟建立共享記憶體區段。

語法: int shm_attach(int key, int [memsize], int [perm]);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式用來開啟或者建立共享記憶體區段。參數 key 為這區段的鍵。參數 memsize 可省略,表示所需最小的記憶體區段 (單位為 byte 位元組),內定值在 php3.ini 或 php.ini 中的 sysvshm.init_mem 設定,若無設定則為 10000 bytes。參數 perm 亦可省略,為該記憶體區段的使用權限,內定值為 666。傳回值為共享記憶體的ID 值,可供程式使用。

 

--------------------------------------------------------------------------------
 函式:shm_detach() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


shm_detach
中止共享記憶體區段連結。

語法: int shm_detach(int shm_identifier);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式用來中止與共享記憶體區段的連結。參數 shm_identifier 即為欲停止區段的共享記憶體 ID 值。

 

--------------------------------------------------------------------------------
 函式:shm_remove() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


shm_remove
清除記憶體區段。

語法: int shm_remove(int shm_identifier);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式用來清除共享記憶體區段的所有資料。參數 shm_identifier 即為欲停止區段的共享記憶體 ID 值。

 

--------------------------------------------------------------------------------
 函式:shm_put_var() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


shm_put_var
加入或更新記憶體區段中的變數。

語法: int shm_put_var(int shm_identifier, int variable_key, mixed variable);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式可用來增加或者修改記憶體區段中變數值。參數 shm_identifier 為欲增加修改的共享記憶體 ID 值。參數 variable_key 為欲增加修改的變數名稱鍵。參數 variable 為變數的內容,變數的型態可以是倍精確數 (double)、整數 (integer)、字串 (string) 或者是陣列 (array
 

--------------------------------------------------------------------------------
 函式:shm_get_var() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


shm_get_var
取得記憶體區段中指定的變數。

語法: mixed shm_get_var(int shm_identifier, int variable_key);

傳回值: 混合型態資料

函式種類: 作業系統與環境


 
 
內容說明 


本函式可用來取得記憶體區段中指定的變數值。參數 shm_identifier 為欲取得的共享記憶體 ID 值。參數 variable_key 為欲取得的變數名稱鍵。傳回值即為指定變數鍵的值。

 

--------------------------------------------------------------------------------
 函式:shm_remove_var() 
--------------------------------------------------------------------------------
 


信號與共享記憶體函式庫


shm_remove_var
刪除記憶體區段中指定的變數。

語法: int shm_remove_var(int id, int variable_key);

傳回值: 整數

函式種類: 作業系統與環境


 
 
內容說明 


本函式可用來刪除記憶體區段中指定的變數值。參數 shm_identifier 為欲除去的共享記憶體 ID 值。參數 variable_key 為欲刪除的變數名稱鍵。 (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55)
PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16)
PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09)
PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33)
PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13)
PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35)
PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08)
PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)

===更多相關===
 

★  樊強制作 歡迎分享  ★