Почему 'nobody' всегда запускает новую программу `find`, которая всегда потребляет мою память?

8
$ ps -elf | grep
...
0 D nobody   27320 27319  2  90  10 - 353471 sleep_ 07:54 ?       00:02:19 /usr/bin/find / -ignore_readdir_race ( -fstype NFS -o -fstype nfs -o -fstype nfs4 -o -fstype afs -o -fstype binfmt_misc -o -fstype proc -o -fstype smbfs -o -fstype autofs -o -fstype iso9660 -o -fstype ncpfs -o -fstype coda -o -fstype devpts -o -fstype ftpfs -o -fstype devfs -o -fstype mfs -o -fstype shfs -o -fstype sysfs -o -fstype cifs -o -fstype lustre_lite -o -fstype tmpfs -o -fstype usbfs -o -fstype udf -o -fstype ocfs2 -o -type d -regex \(^/tmp$\)\|\(^/usr/tmp$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/alex$\)\|\(^/var/spool$\)\|\(^/sfs$\)\|\(^/media$\)\|\(^/var/lib/schroot/mount$\) ) -prune -o -print0                          
...

Эта работа всегда запускается автоматически и занимает мою память. Даже после killтого, как я это сделаю , это начнется через несколько часов.

Что это за работа?

РЕДАКТИРОВАТЬ

Примечание: pid отличается от вышеупомянутого, потому что я убил вышеупомянутый, подождите несколько часов, затем прибывает второй.

$ pstree -psl
|-anacron(25920)---sh(25929)---run-parts(25930)---locate(26343)---updatedb.findut(26348)-+-frcode(26358)
|                                                                                        |-sort(26357)
|                                                                                        `-updatedb.findut(26356)---su(26387)---sh(26402)---find(26403)

Вот как это выглядит в графическом инструменте:

введите описание изображения здесь

Ишу Фан
источник
1
Используйте pstree -psс PID этой работы, чтобы увидеть, с чего она началась.
Муру
Я немного обновил ответ, посмотрим, будет ли он более полезным.
Муру

Ответы:

6

Как видно из дерева процессов, эта команда выполняется updatedb, что обновляет базу данных для этой locateкоманды. Команда locate сохраняет эти данные, так что она может мгновенно давать результаты по сравнению с другими средствами, такими как она findсама. Соответствующее задание cron /etc/cron.daily/locate, как видно из инструмента GUI. Кажется, вы используете locateвместо mlocate. mlocateПредполагается, что лучше справляться с работой, будучи ресурсоэффективным . Поэтому попробуйте mlocateсначала установить :

sudo apt-get install mlocate

Смотрите также: Могу ли я отключить updatedb.mlocate?

Мур
источник