Я запускаю рекурсивную команду grep для веб-пространства на Linux сервере Ubuntu 18.04.4 LTS, чтобы найти все файлы с указанной фразой c. Команда, кажется, висит и ничего не делает. Я запустил процесс strace, и он, похоже, застрял при системном вызове getdent.
Команда выглядит следующим образом:
grep -r needle /var/www/haystack
Когда я запускаю strace в процессе я получаю следующие результаты:
strace -p 2066
strace: Process 2066 attached
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4, /* 585 entries */, 32768) = 32760
getdents(4
Почему grep просто перебирает гетденты и не прогрессирует? Есть ли способ диагностировать или устранить эту проблему, не прерывая команду?