2013-03-06 30 views
0

我試圖找到一些用戶「apache」打開的文件描述符。我想排除ls: /proc/PID/fd: No such file or directory但GREP exclusing不工作:BASH - GREP - 反轉很不起作用

# for pid in $(lsof -u apache | awk '{ print $2 }' | uniq); do ls -1 /proc/$pid/fd | grep -v "No"; done | wc -l 
ls: /proc/PID/fd: No such file or directory 
1944 
+0

'>/dev/null'如何刪除錯誤代碼? – fedorqui 2013-03-06 13:02:06

回答

4

嘗試|& grep -v "No such file or directory"

不像||&也將重定向的錯誤輸出ls

+0

感謝您的回覆 - 由於某種原因它不適用於我'-bash:意外令牌附近的語法錯誤'&'' – HTF 2013-03-06 13:04:34

+0

也許它是BASH的舊版本: -/Try'ls 2>&1 -1/proc/$ pid/fd | grep -v「沒有這樣的文件或目錄」 – 2013-03-06 14:00:45

1

嘗試:

for pid in $(lsof -u apache | tail -n +2 | awk '{ print $2 }' | uniq); do ls -1 /proc/$pid/fd ; done | wc -l