java - linux執(zhí)行find命令為什么會報如下錯誤?
linux執(zhí)行find命令為什么會報如下錯誤?
因為find是遞歸執(zhí)行的,一級一級目錄層級遞歸,所以當時發(fā)現(xiàn)??d????目錄的時候遞歸進去,但是遞歸中這個目錄被刪了,自然就會報這個錯。
而/proc/proc目錄極容易產(chǎn)生這個現(xiàn)象。
建議最后追加上2>/dev/null2>/dev/null/dev/null靜默輸出所有find過程中的錯誤
/proc下面是一堆進程相關的數(shù)據(jù)信息,它隨著進程的結束而消失,如果find剛找到一個PID,這時候剛好它對應的進程結束退出了,??d????這個目錄就消失了,find想進入這個目錄遞歸就報出找不到的錯誤了find的4.2版本,提供了一個 ignore_readdir_race 參數(shù),可以忽略此類錯誤。