crypt of decay - для матюгов [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

для матюгов [May. 5th, 2024|09:23 am]
Previous Entry Add to Memories Tell A Friend Next Entry
Linkабырвалг!

Comments:
[User Picture]
From:[info]hex_laden
Date:September 9th, 2016 - 11:21 pm
(Link)
Объясни дураку вопрос.
Имеется прокси-сервер tinyproxy, в комплекте нет инициализационного скрипта (т.е. который его start|stop|status|restart)
По инструкции если делать, то надо вытаскивать из конфига (либо прописать в скрипте) путь к PID-файлу, проверять его наличие, вытаскивать оттуда PID управляющего процесса, ps и grep проверять, есть ли оно в памяти, и в зависимости от команды радостно орать пользователю о статусе, запускать (или грязно ругаться о уже запущенном процессе), сигналить командой kill, если надо задавить.

Но вот в чем вопрос, а вдруг PID-файл съели мыши, стер пьяный админ, и т.д. (проверял, можно так сделать), такой способ не годится, проще отслеживать статус сразу, невзирая на PID-файл, и душить процесс(ы) командой pkill. Так гораздо проще, но не будет ли в этом какой-нибудь критической гадости?
У меня скрипт просто демонически обрастает проверками на каждый пук, скоро grep конфига и логов пойдет, боюсь, что охуею и я (запутавшись в проверках), и тот, кто попросил проблему решить.

Можно ли проще:
1. запрашиваем список процессов (px -C tinyproxy)
2. считаем строчки (grep "tinyproxy" -c)
3. Проверяем "Строчек > 1" - процесс висит в памяти, 0 - нет его
4. душим pkill-ом/запускаем/сообщаем запущен ли, в зависимости от команды.

Или же надо все-таки по инструкции, плюс куча проверок, на случай если нет PID-файла/в него записали лажу/настал конец света и т.д.
[User Picture]
From:[info]ketmar
Date:September 10th, 2016 - 07:39 am
(Link)
я тебе скажу, что реально никто не заморачивается какими‐либо проверками пида. берётся путь, забивается в конфиг и в скрипт, киллер тупо проверяет пид. есть? заебок, вальнули то, что там написано, подождали, пид убили. нет? запустили.

если в технику ходят под рутом и валят пиды направо и налево — то всё настолько плохо, что никакие проверки уже не нужны, просто на кладбище.

если говнософт постоянно падает и оставляет за собой протухшие пиды (тинипрокси не падает, кстати) — то лучше сделать скрипт‐следилку или приспособить monit.

в остальных случаях никто не заморачивается проверками и пидам доверяют.