回文章列表
作者Kudo.bbs@cd.twbbs.org (喵喵小天使) 看板: itoc
標題Re: [問題] reaper 佔用 CPU 過高
時間中正築夢園 (2008/06/18 Wed 20:00:28)
※ 引述《hpo14.bbs@ntust.org (雨)》之銘言:
> ※ 引述《nothing.bbs@bbs.nfu.edu.tw (.)》之銘言:
> > 看起來是有點怪,你是 BSD6 嗎? 看起來 usr/@/ayumiqmazaky/gem/0/0/0/0/0/0/0/0/0
> > /0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/6/T/A/K 這個目錄是存在的,而且還說
> > too many levels of symbolic links?
> > 這一段看起來是在開 user 的精華區資料,而且可能是用 for loop 的方式去 walk
> > through directory,我想問題的方向應該是在這吧?
> 我是用 Ubuntu 6.06 server 的版本
> reaper.c 的程式碼是公版 code 直接編譯
> 之前是可以順利 reaper 然後直接系統PO清除帳號文
> 可是@/帳號好像一多就會怪怪的.. @@?
最近剛好也遇到類似的問題
於是開始進行 debug 了

發現這個問題是因為 usrhome/gem/ 裡面放了很多連到 . 的 symbolic link
而 reaper 執行 f_rm() 時會因為這樣的 symbolic link 而跑不完
照理說這個問題應該是很多人都應該會有的?

BTW 一個很簡單不知道有沒有後遺症的改法是把 stat() 改用 lstat()

--- lib/f_rm.c  (revision 1)
+++ lib/f_rm.c  (working copy)
@@ -29,7 +29,7 @@
       continue;

     strcpy(fname, fpath);
-    if (!stat(buf, &st))
+    if (!lstat(buf, &st))
     {
       if (S_ISDIR(st.st_mode))
        rm_dir(buf);

--
    淡然如水

        無形若風
--
* Origin: 中正築夢園 (CcuDream.twbbs.org) ★ From: 61.227.186.58  
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻