@schors
schors

выглядит pache mod_proctitle примерно так

ps -ax -U root | grep httpd

78945 ?? Ss 0:00.01 httpd: [M 0|0] ruby21 user01 (httpd)
78989 ?? Ss 0:00.25 httpd: [M 0|0] php52 user02 [PLAIN] (httpd)
79041 ?? Ss 0:00.09 httpd: [M 0|0] php53 user02 [PLAIN] (httpd)
79095 ?? Ss 0:00.09 httpd: [M 0|0] php53 user01 [PLAIN] (httpd)
79132 ?? Ss 0:00.09 httpd: [M 0|0] php54 user02 [PLAIN] (httpd)
79166 ?? Ss 0:00.09 httpd: [M 0|0] php55 user03 [PLAIN] (httpd)
79201 ?? Ss 0:00.09 httpd: [M 0|0] php54 user04 [PLAIN] (httpd)
79248 ?? Ss 0:00.09 httpd: [M 0|0] php56 user05 [PLAIN] (httpd)
79297 ?? Ss 0:00.09 httpd: [M 0|0] php54 user06 [PLAIN] (httpd)
79558 ?? Ss 0:00.01 httpd: [M 0|0] wsgi27 user02 (httpd)
79635 ?? Ss 0:00.01 httpd: [M 0|0] wsgi27 user01 (httpd)
79708 ?? Ss 0:00.01 httpd: [M 0|0] wsgi34 user07 (httpd)

ps -ax -U user02 | grep httpd

79025 ?? I 0:00.00 httpd: [I] [127.0.3.1] 127.0.3.1 GET / HTTP/1.1 (httpd)
79026 ?? I 0:00.00 httpd: [C] php52 user02 [PLAIN] (httpd)
79027 ?? I 0:00.00 httpd: [C] php52 user02 [PLAIN] (httpd)
79056 ?? I 0:00.00 httpd: [I] [127.0.3.2] 127.0.3.2 GET / HTTP/1.1 (httpd)
79057 ?? I 0:00.00 httpd: [C] php53 user02 [PLAIN] (httpd)
79058 ?? I 0:00.00 httpd: [C] php53 user02 [PLAIN] (httpd)
79147 ?? I 0:00.00 httpd: [C] php54 user02 [PLAIN] (httpd)
79148 ?? I 0:00.00 httpd: [I] [127.0.3.3] 127.0.3.3 GET / HTTP/1.1 (httpd)
79149 ?? I 0:00.00 httpd: [C] php54 user02 [PLAIN] (httpd)
79562 ?? I 0:00.04 httpd: user02/site2/2.user02.cz8.ru/norm (httpd)
79563 ?? I 0:00.04 httpd: user02/site2/2.user02.cz8.ru/norm (httpd)
79564 ?? I 0:00.04 httpd: [C] wsgi27 user02 (httpd)
79565 ?? I 0:00.03 httpd: [C] wsgi27 user02 (httpd)

(вот те GET - это наш monit моиторит состояние; [M] - основной воркер апача, он пишет заодно complete и incoplete queue; [C] - это "дочка" апача, пока не обработала ни одного запроса; [B] запрос в обработке, [I] - данные прошедшего запроса; запросы показываются только для mpm_prefork; на линукс пока не портировал)

schors

надо было пожаловаться в жуйк и пойнт. в apache чистый сокет достаётся apr_os_sock_get()

schors

воткнулся в слаборешаемую проблему - не могу никакими способами посредством API apache достать низкоуровневый дескриптор сокета, который слушаем. задница там из-за apr, который отдельно.

schors

товарищи линуксоиды! скажите, а в каких дистрибутивах что есть для передачи переменных окружения apache´у? вот в Debian/Ubintu я вижу закопанный файлик envvars. а в CentOS, Gentoo, etc?

schors

не загрузить в конфиг apache c Passenger строку с mod_proctitle и не понимать, почему именно на Passenger модуль не работает - это вот да

schors

PhusionPassenger думает, что он умный и меняет proctitle основному апачу. тупо копированием в argv[0] того, что в этот argv[0] при запуске прилетело. не поверяя на длину. соответственно в proctitle полный дрен, если строка аргументов была длинная. так победим

schors

"Глава Минкомсвязи России призвал участников конкурса активнее интересоваться международным рынком и готовиться к взрывному росту интернет-экономики, который ожидается". если это какая-то очередная шутка на дипломатическом языке (как сейчас модно вежливо обзывать ту околесицу, что несут граждане класса "А"), то я её не допонял

schors

вообще конечно мне бы модули apache писать, nginx, dovecot - меня это увлекает. но без всего остального (настройки, бизнеса) не было бы и этого (

schors

воткнуться в центральный процесс apache - это ap_hook_monitor() OK. способа забрать содержимое Define средствами API apache не существует

schors

прелесть какая. в apache можно задефайнить переменную через -D в коммандной строке, и через Define в конфигурационном файле. но задать ей значение через командную строку нельзя, а через конфиг - можно

schors

собственно мне надо как-то воткнуться в главный цикл основного процесса apache. пока не понимаю как

schors

Apache версия 2.4.10, server/mpm/prefork/prefork.c строка 1003 / this is a memory leak, but I'll fix it later. /

schors

и последний наверное вопрос дня - а есть дока по apache API? ну та что на сайте она какая-то косая... разве что на helloworld. я конечно уже начитался исходников, но таки иногда не хватает указаний....

schors

вот сделал я listen(сокет, backlog). как можно после accept(), или перед accept(), или после посмотреть, сколько там скопилось в backlog?

schors

вот смотрите, у rubygems вседа был "gem install --user-install блаблабла", у pip появился "pip install --user блаблабла", composer вроде и не умеет по иному, а вот у "perl -MCPAN -e shell" всегда было только вот через такую краказябру. у них там не появилось что-то простого. гугление сыпет чушью какой-то вокруг да около

schors

есть FreeBSD amd64 9.2, есть бинарник i386 собака слинкованный динамически судя по всему с 6.x. как-то можно его запустить без chroot и отдельного distribution? (с distribution и chroot в принципе запускается)

schors

прокуратура Кировского р-на Перми призывает ознакамливаться с запрещенной информацией http://rublacklist.net/8796/ . я всегда подозревал что-то такое :)

schors

скажите мне, что это не правда. скажите, что банановая республика не переходит на зимнее время 26 октября...

schors

открыл для себя man service ) слоупок

schors

кстати, а нет какой-нибудь современной статьи о различии FreeBSD и Linux на уровне ядер и реализации всяких ядерных штук? типа там обошлись без лишнего CS, а там не победили. там память дефрагментируется, а тут типа чуть более тормозной, но крутой планировщик памяти. там lxc кривой, а тут jail прямо ласточка. там хз знает что, а тут VTNET :) там кривой API для драйверов, а тут дравера не пишут даже под прямой API. на уровне современных версий

⬆

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.