回精華區
作者chonsi.bbs@WithHeart.twbbs.org (冰塊中的烈火 - 冰焰), 看板: plan
標題Re: 問一個股市的笨問題
時間隨心坊 (Wed Jan 8 16:57:33 2003)
: config.h

#define BRDSHM_KEY      2997    /* 0x00000bb5 */    /* 看板 */
#define UTMPSHM_KEY     1998    /* 0x000007ce */    /* 使用者 */
#define FILMSHM_KEY     2999    /* 0x00000bb7 */    /* 動態看板 */
#define STOCKSHM_KEY    4999    /* 0x00001387 */    /* 股市 */
#define PIPSHM_KEY      4998    /* 0x00001386 */    /* 電子雞對戰 */
#define BSEM_KEY        2000    /* 0x000007d0 */    /* semaphore key */

  如果要清除 shm|sem 的話,可配合 ipcs 使用 ipcrm

  清掉 BRDSHM,要再度執行 ~/bin/account 來重新載入
  清掉 FILMSHM,要再度執行 ~/bin/camera 來重新載入

> ------------------------------------------------------- <

: 以下是 FreeBSD 的使用範例

% ipcs

    Shared Memory:
    T     ID     KEY        MODE       OWNER    GROUP
    m  65536       1998 --rw-------      bbs      bbs
    m  65537       2997 --rw-------      bbs      bbs
    m  65538       2999 --rw-------      bbs      bbs
    m  65539       4997 --rw-------      bbs      bbs
    m  65540       4999 --rw-------      bbs      bbs
    m  65541       4998 --rw-------      bbs      bbs
    Semaphores:
    T     ID     KEY        MODE       OWNER    GROUP
    s  65536       2000 --rw-------      bbs      bbs

% ipcrm -M 2997         // 若要清掉 看板 shm
% ipcrm -M 1998         // 若要清掉 使用者 shm
% ipcrm -M 2999         // 若要清掉 動態看板 shm
% ipcrm -M 4999         // 若要清掉 股市 shm
% ipcrm -M 4998         // 若要清掉 電子雞 shm
% ipcrm -M 2000         // 若要清掉 semphores

  因為 KEY 固定都是 1998 2997 2999 4997 4998 4999
  所以在 FreeBSD 下,其實不需要 ipcs,可以直接 ipcrm -M key

> ------------------------------------------------------- <

: 以下是 Linux 的使用範例

% ipcs

    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status
    0x00000bb7 131076     bbs       600        111312     4
    0x00000bb5 163845     bbs       600        44808      4
    0x000007ce 196614     bbs       600        297240     5
    0x00001387 491531     bbs       600        9620       0
    0x00001386 434272     bbs       600        1090       0
    ------ Semaphore Arrays --------
    key        semid      owner      perms      nsems      status
    0x000007d0 229383     bbs       600        1

  其中 key 以 HEX 來表示,在本文一開始的註解即有 HEX 的對應

% ipcrm shm 163845      // 若要清掉 看板 shm
% ipcrm shm 196614      // 若要清掉 使用者 shm
% ipcrm shm 131076      // 若要清掉 動態看板 shm
% ipcrm shm 491531      // 若要清掉 股市 shm
% ipcrm shm 434272      // 若要清掉 電子雞 shm
% ipcrm sem 229383      // 若要清掉 semphores

  因為 shmid 不固定數字
  所以在 Linux 下,需要配合 ipcs,來執行 ipcrm shm|sem id

--
    ╭── Origin ╮ 隨心坊  chonsi.dorm8.nctu.edu.tw  ~ αβγ ──┼
    ┼     Author ╯ 192.168.53.1
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻