Мне нужно написать программу сортировки в C, и было бы неплохо, если бы файл можно было отсортировать на месте, чтобы сохранить дисковое пространство. Данные ценны, поэтому мне нужно убедиться, что если процесс прерван (ctrl-c), файл не будет поврежден. Я могу гарантировать, что шнур питания на машине не будет дергаться.
Дополнительные сведения: файл ~ 40 ГБ, записи 128 бит, машина - 64-разрядная, ОС - POSIX
Любые намеки на выполнение этого или заметки вообще?
Спасибо!
Чтобы уточнить: Я ожидаю, что пользователь захочет выполнить ctrl-c процесс. В этом случае я хочу выйти изящно и обеспечить безопасность данных. Поэтому этот вопрос касается обработки прерываний и выбора алгоритма сортировки, который может быть быстро завершен, если потребуется.
После двух лет спустя: Только для потомков я установил обработчик SIGINT, и он отлично поработал. Это не защищает меня от сбоя питания, но это риск, с которым я могу справиться. Код https://code.google.com/p/pawnsbfs/source/browse/trunk/hsort.c и https://code.google.com/p/pawnsbfs/source/browse/trunk/qsort.c