@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.