Отключить 11-минутный режим ядра

Знание того, какой PID нужно уничтожить, - это точка наличия файла pid в / var / run (или в / run / user / $ UID для процессов, которые управляются вашим собственным учетная запись пользователя). Если ваш процесс не записывает такой файл, вам следует либо сконфигурировать его для этого (если возможно), либо запустить его через супервизор , который создает pid-файл.

В крайнем случае, вы можете проверить, какие процессы открывают файл журнала с помощью fuser , или даже полностью убить эти процессы (если вы это сделаете, не забудьте -w , чтобы убивать только процессы, выполняющие запись в файл), например

ps $(fuser /path/to/log/file 2>/dev/null)
fuser -w -k -HUP /path/to/log/file

2
24.05.2016, 14:37
2 ответа

Я предполагаю, что вы имеете в виду 11-минутный обновления часов в Linux . Если вы хотите, чтобы ntpd работал без обновления аппаратных часов, похоже, единственный жизнеспособный вариант - перестроить ядро ​​без параметра RTC_SYSTOHC :

Установите время RTC на основе Синхронизация NTP

Если вы здесь ответите утвердительно, системное время (настенные часы) будет сохраняться в RTC, указанном RTC_HCTOSYS_DEVICE, примерно каждые 11 минут, если пользовательское пространство сообщает о состоянии синхронизации NTP.

Это требует перестройки, параметр не может быть изменен с помощью флагов загрузки.

В качестве альтернативы, согласно информации сравнения Chrony , openntpd не активирует синхронизацию ядра.

2
27.01.2020, 22:20

В моем случае я смог перевести часы CMOS в локальное время без компиляции ядра, выполнив следующие:

Убедитесь, что /etc/adjtime имеет значение «LOCAL», а не «UTC». (В моем случае это была последняя строка файла ).

Убедитесь, что в файле /etc/hardwareclock есть «местное время» (В моем случае это был новый файл и в нем была только эта строка ).

Выполнение описанных выше действий, по-видимому, отключило флаг «синхронизация NTP» в ядре, который не позволяет ядру записывать время UTC в часы CMOS после завершения работы. Поэтому весьма вероятно, что ядро ​​не будет сохранять системное время в часах CMOS (. Я не проверял ). Однако два вышеуказанных изменения отключили режим «11 -минут».

Вот вывод 'timedatectl':

rusty@quigon2 ~ $ timedatectl
Local time: Wed 2019-01-30 14:18:53 MST
Universal time: Wed 2019-01-30 21:18:53 UTC
RTC time: Wed 2019-01-30 14:18:50
Time zone: America/Phoenix (MST, -0700)
Network time on: yes
NTP synchronized: no
RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
...blah blah...

(Обратите внимание на приведенную выше информацию о синхронизации по NTP.но и РТК в местном ТЗ есть)

После всего этого вам может понадобиться возиться с NTP, rdate или чем-то еще, чтобы убедиться, что ваши часы каким-то образом синхронизированы. Я оставляю это в качестве упражнения для читателя. (На моих машинах я запускаю 'rdate -na timemachine ; hwclock --systohc' каждые 30 минут (от имени пользователя root ). Возможно, вы сможете запустить NTPD в этой среде и не нуждаться в rdate, но я не уверен насчет «hwclock --systohc» -, который может понадобиться... Опять же, оставлено в качестве упражнения для читателя..)

0
27.01.2020, 22:20

Теги

Похожие вопросы