Perl daemon name

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
harmless
лейтенант
Сообщения: 716
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Perl daemon name

Непрочитанное сообщение harmless » 2014-03-13 12:43:17

Добрый день, товарищи!
есть dhcp сервер написанный на perl, при работе в процессах он значиться как

Код: Выделить всё

пользователь perl pid и т.д.
Вопрос - как задать имя демона чтоб он в процессах числился как dhcpd?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ChihPih
ст. прапорщик
Сообщения: 566
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение ChihPih » 2014-03-13 15:20:43

Ищите на странице фразу $PROGRAM_NAME .
www.info-x.org - информационный ресурс о ОС FreeBSD.

harmless
лейтенант
Сообщения: 716
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение harmless » 2014-03-13 15:53:21

Сюдя из описаного там в BSD не получиться этого сделать(
не могу понять почему sa-spamd rc-скрипт определяет что запущен демон, а у меня нет(

ChihPih
ст. прапорщик
Сообщения: 566
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение ChihPih » 2014-03-13 16:46:52

Проверяет существование файла, который создается заранее запускаемым процессом?
www.info-x.org - информационный ресурс о ОС FreeBSD.

harmless
лейтенант
Сообщения: 716
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение harmless » 2014-03-13 16:52:55

ChihPih писал(а):Проверяет существование файла, который создается заранее запускаемым процессом?
Не совсем понял
Вот rc-script запуска демона

Код: Выделить всё

#!/bin/sh

# PROVIDE: dhcpd
# REQUIRE: DAEMON mysql
# KEYWORD: shutdown


. /etc/rc.subr

name="dhcpd"
rcvar="dhcpd_enable"

load_rc_config $name

: ${dhcpd_enable="NO"}
: ${dhcpd_pidfile="/var/run/${name}.pid"}

pidfile=${dhcpd_pidfile:-"/var/run/${name}.pid"}

command=/usr/local/sbin/${name}.pl
command_args="-p ${pidfile} "

start_precmd="${name}_prestart"

dhcpd_prestart() {
	. /usr/local/etc/dhcpd/dhcpd.conf ;

	if [ -z "${id}" ]; then
		err 1 "Please specify id with id parameter in /usr/local/etc/dhcpd/dhcpd.conf";
	fi
	command_args="${command_args} -id ${id}";
	
	if [ -z "${threads}" ]; then
		err 1 "Please specify num of threads with threads parameter in /usr/local/etc/dhcpd/dhcpd.conf";
	fi
	command_args="${command_args} -t ${threads}";
	
	if [ -z "${ip}" ]; then
		err 1 "Please specify ip with ip parameter in /usr/local/etc/dhcpd/dhcpd.conf";
	fi
	command_args="${command_args} -b ${ip}";

	if [ -z "${port}" ]; then
		err 1 "Please specify port number with port parameter in /usr/local/etc/dhcpd/dhcpd.conf";
	fi
	command_args="${command_args} -sp ${port}";

	if [ -z "${client_port}" ]; then
		err 1 "Please specify client port number with client_port parameter in /usr/local/etc/dhcpd/dhcpd.conf";
	fi
	command_args="${command_args} -cp ${client_port}";
	
	if [ -n "${mirror}" ]; then
		command_args="${command_args} -m ${mirror}";
	fi

	if [ -z "${idn}" ]; then
		err 1 "Please specify db ident with idn parameter in /usr/local/etc/dhcpd/dhcpd.conf";
	fi
	command_args="${command_args} -dbs \"${idn}\"";

	if [ -n "${password}" ]; then
		command_args="${command_args} -dbp ${password}";
	fi
	if [ -n "${login}" ]; then
		command_args="${command_args} -dbl ${login}";
	fi

        if [ -n "${daemon}" ]; then
                command_args="${command_args} -d";
        fi

        if [ -n "${debug}" ]; then
                command_args="${command_args} -v ${debug}";
        fi
}

run_rc_command "$1"
Демон пишет всой пид в пид-файл, номер в файле совпадает с номером процесса, но

Код: Выделить всё

# /usr/local/etc/rc.d/dhcpd status
dhcpd is not running.
# cat /var/run/dhcpd.pid
3217
# sockstat | grep perl
root     perl5.16.3 2590  3  udp4   127.0.0.1:67          *:*
root     perl5.16.3 2590  4  tcp4   127.0.0.1:26271       127.0.0.1:3306
root     perl5.16.3 2590  5  tcp4   127.0.0.1:35000       127.0.0.1:3306
root     perl5.16.3 2590  6  tcp4   127.0.0.1:65519       127.0.0.1:3306
root     perl5.16.3 2590  7  stream -> /tmp/mysql.sock

ChihPih
ст. прапорщик
Сообщения: 566
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение ChihPih » 2014-03-13 16:59:36

Ну вот например
pidfile=${dhcpd_pidfile:-"/var/run/${name}.pid"}
Файл с ID процесса. МОжно его проверять на существование (существует, значит запущен).
Это, кстати, должно по умолчанию работать, если скрипт запуска правильно написан
www.info-x.org - информационный ресурс о ОС FreeBSD.

harmless
лейтенант
Сообщения: 716
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение harmless » 2014-03-13 17:05:53

ChihPih писал(а):Ну вот например
pidfile=${dhcpd_pidfile:-"/var/run/${name}.pid"}
Файл с ID процесса. МОжно его проверять на существование (существует, значит запущен).
Это, кстати, должно по умолчанию работать, если скрипт запуска правильно написан
Так в том то и дело что должен проверяться, но не проверяеться :st:
я так подозреваю что rc.subr проверяет наличие запущеного демона посредством ps -aux|grep $name

harmless
лейтенант
Сообщения: 716
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Perl daemon name

Непрочитанное сообщение harmless » 2014-03-13 17:26:15

Решение удивительное

Код: Выделить всё

command=/usr/local/sbin/${name}.pl
меняем на

Код: Выделить всё

command=/usr/local/sbin/${name}
и сам скрипт ложим без расширения, вот и все дела