При рестарте сети иногда вижу, что стартует новый dhcpcd до того, как завершился старый. Соответственно dhcpcd ругается, что dhcpcd already running on pid ... и не завершается. Просто увеличивать DHCP_GRACE_TIME не хочется, указаных по дефолту 2 секунд ему как раз иногда чуть не хватает, бывает что и нормально стартует. Предлагаю патч, одновременно можно в дефолтах увеличить значение DHCP_GRACE_TIME до секунд 5, с этим патчем вреда это не принесет, если dhcpcd помрет раньше - задержки в 5 секунд все равно не будет.
Created attachment 3437 [details] dhcp_client_stop.patch
(In reply to comment #0) > on pid ... и не завершается. То бишь наоборот, завершается.
у меня эта ошибка вылезает примерно в половине просыпаний ноутбуков. с wlan0 слетает dhcp и я остюсь без IP на нём.
Наконец добрался и до этого вопроса. Мотивация целиком понятна, и даже подскажу, что для остановки трудно поддающихся процессов можно использовать функцию kill_by_pidfile() из этого же файла. Единственное, что не ясно до конца --- почему используется SIGHUP. Кто-нибудь знает?
> Единственное, что не ясно до конца > --- почему используется SIGHUP. Кто-нибудь знает? dhcpcd по SIGHUP посылает DHCPRELEASE перед выходом. По SIGTERM он этого не делает.
fixed in 0.9.10-alt2
Думаю DHCP_GRACE_TIME в дефолтах теперь все-таки нужно увеличить. Сделанные изменения просто позволяют сделать это безболезненно.
Does https://bugzilla.altlinux.org/show_bug.cgi?id=18381 have the same cause?
doubt that
С моим патчем из #30369 теперь стало еще хуже: dhcpcd --release на самом деле ждет максимум 10 секунд (прибиты гвоздями и не меняются), так что если dhcpcd не успел выйти за эти 10 секунд, то при network restart попытка запуска dhcpcd из ifup обламывается (т.к. предыдущий dhcpcd все еще запущен на этом интерфейсе, раньше после истечения DHCP_GRACE_TIME он всегда убивался kill -9). В результате после network restart сети нет. Патч тут: http://git.altlinux.org/people/sem/packages/etcnet.git?p=etcnet.git;a=commit;h=25b3be52af8dde38994cdf4bb6b2bf0f14fb984b Там опять используется DHCP_GRACE_TIME и dhcpcd убивется kill -9 если не успел выйти. Также предлагаю все-таки увеличить DHCP_GRACE_TIME в дефолтах, хотя бы до 10 секунд (все равно при использовании dhcpcd --release задать меньшее время ожидания нельзя). Напоминаю, что это давно уже _максимальное_ время ожидания, а не безусловное. Так что вполне безопасно увеличивать его и до бОльших значений.
etcnet-0.9.18-alt2 -> sisyphus: Mon Mar 11 2019 Andrey Bychkov <mrdrew@altlinux> 0.9.18-alt2 - iface status check for ifdown added (Closes: #22658) - loading of kernel module 8021q disabled in VE (patch by Denis Yagofarov) (Closes: #13607) - dhcpd service stop fixed (Closes: #19582) - fixed unable to manage bridge ifaces on 2.6.32 OpenVZ kernels (patch by Nikolay A. Fetisov) (Closes: #33296)