Наблюдение зомби имеет тенденцию указывать на ошибку в процессе, который породил их: тот процесс, как предполагается, пожинает зомби (путем вызова wait
) или явно проигнорируйте SIGCLD
(или набор SA_NOCLDWAIT
флаг).
Однако это - незначительная ошибка. Процессы-зомби только используют запись в таблице процессов, которая является незначительной суммой ресурсов. Проблема только становится значительной, если процесс оставляет тысячи зомби.
Вы не уничтожили родительский процесс зомби: иначе зомби ушел бы. Обработайте 29673 (родитель зомби) является все еще живым и здоровым (но нет wait
луг). Или это не Gvim, но некоторый подпроцесс его, или Вы закрыли окно Gvim, но программа все еще работает. Выполненный ps l 29673
видеть, каков этот процесс.
Почему бы не использовать вместо этого rsync
? Это сделано для задания!
rsync -uan --progress --exclude=".*" <source> <destination>
Выше перечислены все файлы, которые нужно заархивировать без фактического копирования. Проверьте, что список правильный, затем запустите его снова, удалив опцию n
, чтобы скопировать файлы (вы также можете удалить --progress
для более тихой работы).
Для расширения, вышеприведенные опции:-
u
- 'update' - только копируйте более новые файлы.
a
- 'archive'
n
- 'dry-run' - не копируйте, а просто перечислите, что это будет делать.
--progress
- показываем ход копирования
--exclude=".*"
- исключаем файлы, которые начинаются с точки