java - linux执行find命令为什么会报如下错误?
linux执行find命令为什么会报如下错误?
因为find是递归执行的,一级一级目录层级递归,所以当时发现??d????目录的时候递归进去,但是递归中这个目录被删了,自然就会报这个错。
而/proc/proc目录极容易产生这个现象。
建议最后追加上2>/dev/null2>/dev/null/dev/null静默输出所有find过程中的错误
/proc下面是一堆进程相关的数据信息,它随着进程的结束而消失,如果find刚找到一个PID,这时候刚好它对应的进程结束退出了,??d????这个目录就消失了,find想进入这个目录递归就报出找不到的错误了find的4.2版本,提供了一个 ignore_readdir_race 参数,可以忽略此类错误。