Каждый сигнал имеет "расположение по умолчанию" - что процесс делает по умолчанию, когда это получает тот сигнал. Существует таблица в signal(7)
страница справочника, перечисляющая их:
Signal Value Action Comment
──────────────────────────────────────────────────────────────────────
...
SIGUSR1 30,10,16 Term User-defined signal 1
SIGUSR2 31,12,17 Term User-defined signal 2
SIGUSR1
и SIGUSR2
у обоих есть действие по умолчанию Term
- процесс завершается. dd
регистрирует обработчик, чтобы прервать сигнал и сделать что-то полезное с ним, но если Вы предупреждаете слишком быстро, что это не имело времени для регистрации того обработчика все же, таким образом, действие по умолчанию происходит вместо этого
Вы могли попробовать
sync
echo 3 > /proc/sys/vm/drop_caches
который отбрасывает все виды кэшей.
Для получения дополнительной информации посмотрите /usr/src/linux/Documentation/sysctl/vm.txt
на drop_caches
.
(Примечание: вопрос был о busybox dd, который до настоящего времени все еще не поддерживает iflag=direct
.)
Прямой ввод-вывод (открывают режим O_DIRECT
) должен работать, но Ваше ядро и/или dd
может не поддерживать его.
Небольшой штрих к ответу iflag=direct; предоставить также индикатор выполнения:
dd iflag=direct if=~/source.iso | pv | dd oflag=direct of=/dev/sdb bs=8M
Без флага iflag/offlag pv сообщает о завершении, а затем выглядит так, как будто он завис; но dd к устройству все еще работает на кеше.
/proc
файловая система отключена в некоторых встроенных конфигурациях Linux. – 12.07.2013, 23:28