Команда выключения посылает запущенным процессам сигнал о завершении, давая им возможность выполнить очистку, если это необходимо. Поэтому, как правило, когда приложение получает этот сигнал (SIGTERM
(inate)), оно должно завершиться и выйти.
IIRC в Snow Leopard (10.6) Apple добавила нечто, называемое быстрым выключением (или аналогичным), которое будет отправлять процессы, которые были помечены как нормально, с сигналом SIGKILL
, отключая их без шансов для очистки. Это должно сделать отключение быстрее. По умолчанию приложения все еще получают SIGTERM
и должны подписаться на SIGKILL
; и они могут пометить себя как "грязные", т.е. е. имея несохраненную работу и не хочет быть убитым насильно.
Таким образом, хотя завершение работы в середине работы дисковой утилиты прервет все, что делает дисковая утилита, ИМХО это не приведет к повреждению данных в целом. Однако, в зависимости от выполняемой в данный момент операции, вы можете получить неполный образ диска или полуформатированный раздел. Может быть, вы захотите воздержаться от его использования, когда узнаете, что приближается конец настроенного рабочего времени.
Использование cron
для планирования выключения является жизнеспособным вариантом, если вы хотите, чтобы это произошло в указанное время. Если вы хотите, чтобы это произошло через определенное время после входа в систему, вы можете использовать числовой параметр для отключения, чтобы указать, скажем, 8 часов.