Невозможно добавить комментарий, потому что недостаточно повторений, так что вот оно :Я сделал точно такой же тест, как и jpa, на немодифицированном растяжке Debian, и память вернулась к исходному значению, хотя я НЕ размонтировал. Так что, кажется, это поведение изменилось.
http://man7.org/linux/man-pages/man7/namespaces.7.html
подразумевает это, по крайней мере, говоря:
Bind mounting (see mount(2)) one of the files in this directory to somewhere else in the filesystem keeps the corresponding namespace of the process specified by pid alive even if all processes currently in the namespace terminate.
Значит, отказ от этого разрушает пространство имен (? ).
Вы можете запустить echo rm
вместоrm
find. type f -exec echo rm {} \;
Кроме того, find
имеет -delete
возможность удалять найденные файлы
В частности, для rm
вам не нужно-exec
:просто запустить find. -type f
для отображения списка и добавить -delete
для удаления файлов, перечисленных предыдущей командой (, очевидно, запрещая создание любых соответствующих файлов/ тем временем удалил ).
Кроме того, для таких команд, как rm
, которые принимают произвольное количество аргументов, вы можете заменить \;
на +
, чтобы запускать как можно меньше команд.
Это немного многословно, но в отличие от подходов, использующих echo
, приведенный ниже код вывода вы можете запустить в своей оболочке без каких-либо изменений, чтобы получить правильный результат, даже если ваши имена файлов содержат кавычки, пробелы, метасимволы оболочки и т. д.
printcmd() { printf '%q ' "$@"; printf '\n'; }
find. -exec bash -c "$(declare -f printcmd); "'printcmd "$@"' _ \
somecommand {} \;
Обратите внимание, что строка, которую мы вставляем перед нашим аргументом -exec
, точно соответствует bash -c "$(declare -f printcmd); "'printcmd "$@"' _
--, $(declare -f printcmd)
расширяется до кода функции; после этого мы на самом деле вызываем функцию с аргументами $1
и далее, и помещаем _
в качестве заполнителя для $0
.
Вы можете заменить zsh
или ksh
вместо bash, если хотите экранировать вывод для этой оболочки.