看板 PttCurrent 關於我們 聯絡資訊
謝謝大家指導 我把 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