URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77115
[ Назад ]

Исходное сообщение
"скрипты rc.d"

Отправлено sickboy , 31-Окт-07 18:09 
Хайо!

Накрапал простенький скрип, который через tail анализирует лог файл и пишет результат в другой файл.
Хочу его запустить в качестве даемона, сделал значит так:

#!/bin/sh
#
# PROVIDE: my_daemon
# REQUIRE: DAEMON
# Add the following line to /etc/rc.conf to enable `my_daemon':
#
# my_daemon_enable="YES"

. "/etc/rc.subr"

name="my_daemon"
rcvar=`set_rcvar`

command="/path_to/my_daemon.sh"
pidfile="/var/run/my_daemon.pid"

load_rc_config "$name"
: ${my_daemon_enable:="NO"}

run_rc_command "$1"

Запускаю:
# /usr/local/etc/rc.d/my_daemon start
Starting my_daemon.

и в таком состоянии висит (хотя и работает), т.е. недаемонизируется.


Содержание

Сообщения в этом обсуждении
"скрипты rc.d"
Отправлено бусик , 31-Окт-07 18:39 
>[оверквотинг удален]
>load_rc_config "$name"
>: ${my_daemon_enable:="NO"}
>
>run_rc_command "$1"
>
>Запускаю:
># /usr/local/etc/rc.d/my_daemon start
>Starting my_daemon.
>
>и в таком состоянии висит (хотя и работает), т.е. недаемонизируется.

а должен? вы же его запускаете без ключика, который позволяет любой процесс загнать в background) я про & :)


"скрипты rc.d"
Отправлено sickboy , 31-Окт-07 18:51 
>а должен? вы же его запускаете без ключика, который позволяет любой процесс
>загнать в background) я про & :)

Про & я знаю, но думал, что rc.subr сам разобрался бы добавлять его или нет.
Спасибо!

P.S. Но вот pid файл не создался.



"скрипты rc.d"
Отправлено Answer , 31-Окт-07 20:03 
rc.subr не демонизирует за ... Смотри fork, setsid и close для std{in,out,err}. rc.subr также не пишет пид файлы, он особенно вообще ничего не делает, просто тупа екзекутит.

"скрипты rc.d"
Отправлено sickboy , 01-Ноя-07 14:48 
>rc.subr не демонизирует за ... Смотри fork, setsid и close для std{in,out,err}.
>rc.subr также не пишет пид файлы, он особенно вообще ничего не
>делает, просто тупа екзекутит.

Да, уже понял, что полная чухня это.
В gentoo на порядок это лучше сделано.


"скрипты rc.d"
Отправлено lavr , 01-Ноя-07 15:59 
>>rc.subr не демонизирует за ... Смотри fork, setsid и close для std{in,out,err}.
>>rc.subr также не пишет пид файлы, он особенно вообще ничего не
>>делает, просто тупа екзекутит.
>
>Да, уже понял, что полная чухня это.
>В gentoo на порядок это лучше сделано.

что это? "особенный" bash?


"скрипты rc.d"
Отправлено renton , 01-Ноя-07 16:32 
>что это? "особенный" bash?

Нет, там бинарник /sbin/runscript обрабатывает init скрипты.



"скрипты rc.d"
Отправлено Answer , 01-Ноя-07 17:42 
и чем это лучше? фишка rc.d - это api. присваивая определенным переменным те или иные значения можно управлять поведением стартовых скриптов буквально одной строчкой. писать на С "обработчик скриптов" - все равно что писать на С веб приложения.

вот нах"я говорить чухня, когда ты них"я не понимаешь?


"скрипты rc.d"
Отправлено angra , 01-Ноя-07 07:36 
Писать демона на шелл это круто :). В bg ты его конечно отправить можешь, можешь каналы закрыть дабы не гадил никуда, но ведь это еще не все.