Можно использовать
find /proc/[0-9]*/fd/ -name 24 2> /dev/null | wc -l
Или, если вы настаиваете на использовании ls
(это должен быть один из немногих примеров, где это безопасно):
ls /proc/[0-9]*/fd 2>/dev/null | grep -c '^24$'
Ваша первая попытка не удалась, так как вы перенаправляли вывод в файл (> вывод. txt
), что означает, что grep
никогда не будет совпадать, так как не было вывода, с которым можно было бы сопоставить вывод. Вы можете либо использовать трубы (|
), как я делал это выше, либо использовать ;
или &
для разделения команд:
ls /proc/[0-9]*/fd 2> errors.txt > stdout.txt; grep "^24" stdout.txt | wc -l
Я отвечу на свой вопрос
Я использовал VirtualBox 4.3.14 на хосте Windows, после обновления до последней версии 4.3.22 все начинает работать. Без каких-либо изменений конфигурации RHEL.
Несмотря на то, что вы проверили /etc/resolv.conf
, вы должны убедиться, что DNS действительно работает. Попробуйте сделать простой запрос, например dig www.google.com
, и посмотрите, получите ли вы ответ.
Если это сработает, вы можете попытаться вручную открыть соединение с telnet следующим образом:
telnet www.google.com 80