Re: mrtg怎麼抓bbs的上線人數?

看板FreeBSD作者時間20年前 (2004/04/16 18:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/9 (看更多)
【 在 shane123.bbs@ptt.cc (家產有八十七億) 的大作中提到: 】 : 是不是應該抓目前有幾個mbbsd process?? : 該怎麼做呢?? thanks~ 這樣其實不是很精準 因為會有的人開到進站畫面 但還沒login process 已經產生了 , 但是他還不算是已經登入的user ... 精確的作法應該是掃一遍 shared memory ...或抓 shm 中存目前人數的值 ... 這部份各 bbs 的作法就不太一樣了 , 以 PTT 為例 , 程式大概類似這樣 (我用的是很早期的 PTT 版本, 現在的版本不知道需不需要修改就是了 ... ) =========================================================================== #include <stdio.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <machine/param.h> #include "config.h" #include "struct.h" struct utmpfile_t *utmpshm; void attach_err() { perror("attach shared memory error!!\n"); } void *attach_shm( int key, int shmsize ) { void *shmptr; int shmid; shmid = shmget( key, shmsize, 0 ); if( shmid < 0 ) { attach_err(); exit( -1 ); } else { shmptr = (void *) shmat( shmid, NULL, 0 ); if( shmptr == (void *)-1 ) { attach_err(); exit( -1 ); } } return shmptr; } int main() { utmpshm = attach_shm( UTMPSHM_KEY, sizeof( *utmpshm ) ); printf("%d\n", utmpshm->number ); return 0; } =========================================================================== -- ※ 來源:‧大度山之戀 bbs.thu.edu.tw‧[FROM: 220-134-60-125.]
文章代碼(AID): #10VwxY00 (FreeBSD)
討論串 (同標題文章)
文章代碼(AID): #10VwxY00 (FreeBSD)