Как ждать, пока команда dd закончит копирование, прежде чем продолжить мой сценарий?

Заголовок в значительной степени прибил его, я копирую файлы на флешку, а затем делаю некоторые вещи с этими файлами. Ну, я заметил, что после запуска команды dd флешка все еще мигает, и не все файлы находятся на устройстве.

Кто-нибудь знает, как, возможно, запустить простой цикл (в сценарии), чтобы дождаться завершения процесса dd? Я гуглил около 2-3 часов, пытаясь понять, что это за мной, если это возможно.

Заранее спасибо!

2 ответа

Решение

Скорее всего, вы видите, что операционная система кэширует записи. Если вы действительно хотите убедиться, что все записано на флэш-накопитель, чтобы его можно было безопасно удалить, его необходимо отключить.

Попробуйте sync команда:

sync записывает любые данные, буферизованные в памяти, на диск. Это может включать (но не ограничиваясь этим) измененные суперблоки, модифицированные inode и отложенные операции чтения и записи. Это должно быть реализовано ядром; sync программа делает только упражнение sync системный вызов.

Ядро хранит данные в памяти, чтобы избежать (относительно медленного) чтения и записи на диск. Это повышает производительность, но в случае сбоя компьютера данные могут быть потеряны или повреждена файловая система. sync Команда гарантирует, что все в памяти записывается на диск.

Другие вопросы по тегам