Я пишу make-файл, который в какой-то момент создает файлы изображений. Я использую losetup -f
в файле, чтобы найти устройство свободного цикла при построении каждого изображения. Поскольку изображения не зависят друг от друга, я бы хотел иметь возможность make -j
параллельно. К сожалению, когда я это делаю, losetup -f
возвращает одно и то же устройство всем изображениям, поскольку команда выполняется почти в одно и то же время для каждого изображения. Кто-нибудь знает, как я могу обойти это?
1 ответ
0
Я столкнулся с той же проблемой, что и вы, и обнаружил следующий отчет об ошибках в трекере ошибок хрома, в котором также описано, как его исправить: https://code.google.com/p/chromium/issues/detail?id=201150.
По сути, достаточно не просто напечатать следующее бесплатное устройство, но и использовать его и просто напечатать имя, чтобы впоследствии его можно было удалить.
Из losetup(8)
:
-f, --find
find the first unused loop device. If a file argument is present,
use this device. Otherwise, print its name
--show
print device name if the -f option and a file argument are present.
Это означает, что losetup -f --show /foo/bar
будет печатать, например, /dev/loop1
, а также связывать цикл устройства с файлом /foo/bar
.