Вы могли бы попробовать параллель GNU:
find . -type f | parallel -k -j150% -n 1000 -m grep -H -n STRING {}
(из http://www.gnu.org/software/parallel/man.html#example__parallel_grep)
Править: Обратите внимание, что другие комментарии, которые указывают, что grep будет работать быстрее последовательно, если узкое место будет IO, корректны.
ОБНОВЛЕНИЕ: Эти инструкции могут быть устаревшими. Это появляется в недавних системах, которые переместили сокеты брелока для ключей гнома, формируют случайный каталог в ~/.cache/
кому: /run/user/<ID>/keyring/
(по крайней мере, на Debian Jessie), таким образом, простой перезапуск должен быть достаточным.
Это немного хитро, поскольку гном-демон брелока для ключей устанавливает параметры уникальной среды, прежде чем Ваша сессия запустится, и эта среда используется для доступа к канавке демона сокет. Среда копируется в каждое приложение, таким образом, нет никакого способа сбросить все переменные среды. Существует путь, который включает вручную перезапуск демона, symlinking старый dir к новому (таким образом, старая среда все еще работает), и затем запуск отдельных сервисов.
Удостоверьтесь, что нет никакого гнома-демона брелока для ключей, работающего (эта команда не должна возвращать pid, если она делает необходимо уничтожить ее),
pgrep -f gnome-keyring-daemon
Очистите старые сокеты брелока для ключей
rm -rf ~/.cache/keyring-*
Запустите процесс демона - мы используем setsid и перенаправляем SDTIN, OUT & ERR, таким образом, нет никакой ассоциации к нашему shell/tty. Это создаст новый каталог с сокетом управления в ~/.cache/.
setsid /usr/bin/gnome-keyring-daemon </dev/null >/dev/null 2>&1
Символьная ссылка новый каталог сокета к старому (идеально заменяют подстановочный знак фактическим каталогом, но так как мы удалили их всех ранее, должен быть только один):
ln -s ~/.cache/keyring-* $GNOME_KEYRING_CONTROL
NB: у меня нет Вашей проблемы оболочки гнома, но если Вам не экспортировали эти переменные из того, где Вы запускаете оболочку гнома Вы, многие должны вручную передать следующие переменные среды оболочке гнома: GPG_AGENT_INFO GNOME_KEYRING_CONTROL SSH_AUTH_SOCK
. Необходимо смочь получить значение на путь, удаленный в № 2 (если у Вас есть несколько каталогов, необходимо искать новое).
Запустите другие сервисы брелока для ключей гнома (они соединятся с демоном, использующим сокет, и включат сервисы на него, если все пошли прекрасные до сих пор):
/usr/bin/gnome-keyring-daemon --start --components=pkcs11
/usr/bin/gnome-keyring-daemon --start --components=gpg
/usr/bin/gnome-keyring-daemon --start --components=ssh
Эти последние команды распечатают переменные среды... можно проигнорировать их, просто удостоверьтесь, что нет никаких ошибок сокетного соединения.
Кроме того, если Вы хотите к очистке старые сокеты, можно добавить a @reboot
запись крона, которая делает очистку:
find ~/.cache/ -maxdepth 1 -type l -name 'keyring-*' -delete
~/.cache/
таким образом, те шаги могли быть пропущены; просто уничтожение иsetsid
перезапуск был достаточен.Далееssh
вход в систему попросил у меня моего пароля правильно и кэшировался как ожидалось. – Aaron D. Marasco 13.02.2017, 22:21