Вы когда-нибудь смотрели, что происходит с sleep
в високосную секунду или какую дату нам покажет? Большинство систем UNIX могут обрабатывать спящий режим за доли секунды, а команда date может отображать миллисекунды. Я не смотрел на источник, но проснется ли сон во время високосной секунды? возможно - да. А что покажет "свидание"? определение POSIX говорит, что это 23:59:60
Если у меня будет время, я внимательно посмотрю на этот скрипт:
while true; do sleep 0.1; date '+%m%d %H:%M:%S %3N'; done
В файле leap-seconds.3629404800 указано 1 июля 2015 года, которое я установил для демона ntp.
Тогда у нас есть следующая возможность посмотреть.
Я думаю, что вы имеете в виду: «как это выглядит в системе, когда происходит дополнительная секунда», верно?
Практически то же самое, что и изменение летнего времени в часовом поясе, если ваши серверы недостаточно удачливы, чтобы быть настроенными на летнее время.
Если добавляется дополнительная секунда (или час), временная метка будет отображаться дважды: в конце дополнительной секунды время будет сброшено до начала дополнительной секунды.
Если убрать секунду (или час), это время будет пропущено, и очевидные временные метки переместятся вперед.