謝謝大家指導
我把 Makefile 中的 innd 拿掉 然後就當作沒這回事了
這樣快樂多了 ^^
這篇文章是來寫 shmctl 的.
因為我發現 有很多使用者 可能在不知名的原因斷線之後, 還會卡在站上
卡很久 怎麼樣都掉不下去. 用站長踢人也無法.
所以... 研究之後 發現是 shmctl 這隻程式 要用來踢人.
可是 用了各種參數組合 還是踢不掉 只好來看看程式碼怎麼寫
研究後發現
其中, 第 57 行的 lowerbound 指的是 BBS 的最少上線人數
原來設定的是 100, 我想 這是 ptt 這種大站才這樣設, 所以我改成了 10
另外 在 126 行的 kill 指的當然就是把使用者踢出站外囉.
可是 我發現 有的時候 如果是程式問題 使用者斷線 那麼 就算用
kill(SHM->uinfo[which].pid, SIGHUP);
這樣的 kill , 使用者也下不去
所以我只好加上一個判斷, 當我每個小時 用 crontab 去呼叫 shmctl 的時候
我給他 shmctl utmpfix -t 3600 這個參數
而當他遇到 timeout 是 3600 的時候
就會狠狠的把使用者 用
kill(SHM->uinfo[which].pid, SIGKILL);
的指令踢下去. 這樣 站上就不會很多屍體卡在那裡很討厭了...
一點心得 ..
--
不過 似乎應該去研究, 怎麼樣讓使用者不會無故斷線才對 :P
--
那包圍住自己的心跳與體熱,一點一點地滲透進來,
總是在海潮中聽到,從體內深處傳來一種模糊、不成言語的聲息
然後 天空從很深很深的紫,轉變成一片純粹的藍
而映著天空那片純藍的海,讓我第一次感到,海-竟是那樣的美
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.163.49