В попытке понять, почему я продолжаю получать следующую ошибку
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
при использовании команды sudo find / -type s
, терминал запросил что-то вроде этого
find: ‘/proc/31348/task/31348/fd/5’: No such file or directory
find: ‘/proc/31348/task/31348/fdinfo/5’: No such file or directory
find: ‘/proc/31348/fd/5’: No such file or directory
find: ‘/proc/31348/fdinfo/5’: No such file or directory
Что это значит ?
/proc
псевдофайловая система, файлы под /proc
на самом деле не существуют на Вашем жестком диске. Они содержат информацию о в настоящее время рабочих процессах. Эти ошибки происходят, потому что некоторые процессы вышли, в то время как find
работал. Это полностью нормально.
(На самом деле, если Вы работаете find
много раз и используете команду такой в качестве ps a | grep find
для получения PID Вашего find
команда, Вы будете рассматривать тот же PID как тех в сообщениях об ошибках. Это отчасти похоже, когда Вы сделаете ps a | grep ps
эти grep
, команда будет "grapped" также.)
найдите жалуется, потому что она видит процесс-зомби с идентификатором 31348.
процесса, Моя находка жаловалась для процесса 4052 каждый раз, когда я использовал ее,
find: ‘/proc/4052/task/4052/ns/net’: No such file or directory
find: ‘/proc/4052/task/4052/ns/uts’: No such file or directory
find: ‘/proc/4052/task/4052/ns/ipc’: No such file or directory
find: ‘/proc/4052/ns/net’: No such file or directory
find: ‘/proc/4052/ns/uts’: No such file or directory
find: ‘/proc/4052/ns/ipc’: No such file or directory
[root@mylaptop /]# ps -ef | grep 4052
root 4052 4043 0 Jun19 ? 00:00:00 [sh] <defunct>
Так,
В моем случае это был процесс-зомби, который был создан несколько часов назад (во время моей операции Linux). "Уничтожают-9 4052" не, имел эффекта, конечно, это был зомби, и зомби не могут быть уничтожены. Так как это был только один и бедный одинокий зомби там, я просто позволяю ему один до следующей перезагрузки.
:)
Эти ошибки происходят, потому что эти файлы принадлежат специальной файловой системе procfs
(смонтированный в /proc
). proc файловая система представляет информацию о процессах в иерархической подобной файлу структуре, поэтому в тот момент времени, когда находят попытки получить доступ к этим специальным файлам, они больше не присутствовали.
Для игнорирования этих ошибок добавить -xdev
для GNU find
(или -x
для BSD find
), например.
sudo find / -type s -xdev
-xdev
Не убывайте каталоги в других файловых системах.
См. также: Как исключить папки proc и sys от поиска с командой находки?