Как ждать, пока команда dd закончит копирование, прежде чем продолжить мой сценарий?
Заголовок в значительной степени прибил его, я копирую файлы на флешку, а затем делаю некоторые вещи с этими файлами. Ну, я заметил, что после запуска команды dd флешка все еще мигает, и не все файлы находятся на устройстве.
Кто-нибудь знает, как, возможно, запустить простой цикл (в сценарии), чтобы дождаться завершения процесса dd? Я гуглил около 2-3 часов, пытаясь понять, что это за мной, если это возможно.
Заранее спасибо!
2 ответа
Скорее всего, вы видите, что операционная система кэширует записи. Если вы действительно хотите убедиться, что все записано на флэш-накопитель, чтобы его можно было безопасно удалить, его необходимо отключить.
Попробуйте sync
команда:
sync
записывает любые данные, буферизованные в памяти, на диск. Это может включать (но не ограничиваясь этим) измененные суперблоки, модифицированные inode и отложенные операции чтения и записи. Это должно быть реализовано ядром;sync
программа делает только упражнениеsync
системный вызов.Ядро хранит данные в памяти, чтобы избежать (относительно медленного) чтения и записи на диск. Это повышает производительность, но в случае сбоя компьютера данные могут быть потеряны или повреждена файловая система.
sync
Команда гарантирует, что все в памяти записывается на диск.