rc.d в FreeBSD 8

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-23 11:31:28

есть стандартный стартовый скрипт
/usr/local/etc/rc.d/transmission

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

#!/bin/sh
#
# $FreeBSD: ports/net-p2p/transmission-cli/files/transmission.in,v 1.3 2010/03/27 00:14:31 dougb Exp $
#
# PROVIDE: transmission
# REQUIRE: DAEMON
#
# Add the following lines to /etc/rc.conf to enable this service:
#
# transmission_enable:       Set to NO by default. Set it to YES to enable it.
# transmission_watch_dir:    Directory for torrent files to download
#                            automatically. Off by default unless you add
#                            a path.
# transmission_conf_dir:     Directory where transmission configuration
#                            data is stored.
#                            Default: /usr/local/etc/transmission/home
# transmission_download_dir: Directory to store downloaded data.
#                            Default: /usr/local/etc/transmission/home/Downloads
# transmission_user:         The user account transmission daemon runs as what
#                            you want it to be. It uses 'transmission' user by
#                            default. Do not sets it as empty or it will run
#                            as root.
#

. /etc/rc.subr

name="transmission"
rcvar=${name}_enable

command=/usr/local/bin/transmission-daemon

load_rc_config ${name}

: ${transmission_enable:="NO"}
: ${transmission_user:="transmission"}
: ${transmission_conf_dir:="/usr/local/etc/transmission/home"}
: ${transmission_download_dir:="/usr/local/etc/transmission/home/Downloads"}

transmission_flags=" \
        ${transmission_watch_dir:+-c ${transmission_watch_dir}} \
        ${transmission_conf_dir:+-g ${transmission_conf_dir}} \
        ${transmission_download_dir:+-w ${transmission_download_dir}} \
        ${transmission_flags}"

run_rc_command "$1"
./transmission status
transmission is running as pid 2057.
где хранится пид файл? в /var/run/ его нету (!)
раньше была строка в скриптах

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

pidfile="/var/run/${name}.pid"
а где оно щас берет 2057?
мне нужен пид файл для ротации логов в newsyslog.conf
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Хостинговая компания 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/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: rc.d в FreeBSD 8

Непрочитанное сообщение FreeBSP » 2010-11-23 11:38:03

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

sh -c 'ls /var/run | { while read pidfile; do if [ "`cat /var/run/$pidfile`" -eq "2057" ]; then echo $pidfile; fi; done;  }'
я чета в манах не увидел кпоминания про пидфайл
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: rc.d в FreeBSD 8

Непрочитанное сообщение FreeBSP » 2010-11-23 11:49:08

тоесть правильнее так
grep -rn 2057 /var/run/*
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-23 12:14:33

в /var/run пид файла нету я это уже написал
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Гость
проходил мимо

Re: rc.d в FreeBSD 8

Непрочитанное сообщение Гость » 2010-11-23 12:30:56

ps ax
truss
и вообще проявите изобретательность ума

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35487
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение Alex Keda » 2010-11-23 12:33:00

Гость писал(а):ps ax
truss
и вообще проявите изобретательность ума
paradox снова с нами =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-23 12:37:29

причем тут изобретательность,
если rc.d тупо грепает пиды из ps , то это не верно в корне,
как оно помнит что это именно его пид ?
и что команда
./transmission stop
не прибьет пид запущенный мною в другом скрипте?
для этого как раз и были придуманы пид файлы насколько я понимаю


Alex Keda может по теме лучше ответишь? :smile:
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35487
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение Alex Keda » 2010-11-23 12:42:38

ищщи где задаётся функция run_rc_command и смотри в ней как она его достаёт
чё сложного-то?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-23 12:47:16

http://www.freebsd.org.ua/doc/ru_RU.KOI ... aemon.html
Демон будет запущен командой $command с ключами определенными в переменной $mumbled_flags. Таким образом, все данные, необходимые для стандартного метода start определены в переменных на момент запуска скрипта. В отличие от метода start, другим методам может потребоваться дополнительная информация о запущенном процессе. Например, stop должен знать об идентификаторе запущенного процесса (PID) чтобы завершить его. В нашем случае, rc.subr(8) найдет среди запущенных процессов процесс с именем $procname. Эта переменная выставляется rc.subr(8) автоматически и по-умолчанию ее значение соответствует переменной command. Другими словами, когда мы указываем значение command, мы тем самым указываем и procname. Это позволяет нашему скрипту проверить, запущен ли демон или завершить его работу.
выходит что оно тупо грепает процесс с таким названием? :cz2:

как тут http://www.freebsd.org.ua/doc/ru_RU.KOI ... n-adv.html
добавил

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

pidfile="/var/run/${name}.pid"
че то не хочет создавать файл :cz2:
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: rc.d в FreeBSD 8

Непрочитанное сообщение FreeBSP » 2010-11-23 12:52:42

gonzo111 писал(а):

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

. /etc/rc.subr
но она толстенькая
да и сам rc.subr не маленький.
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Гость
проходил мимо

Re: rc.d в FreeBSD 8

Непрочитанное сообщение Гость » 2010-11-23 12:57:28

как оно помнит что это именно его пид ?
а что программа сама не может помнить свой пид?
она его внутри себя может держать(имя пути)
а по параметру
программа /stop
к примеру
прибивать
и для этого и есть команды
ps ax
что бы увидеть все параметры запуска демона
и
truss
что бы увидеть все файлы что она открывает/создает

чудеса изобретательности ума
и больше ничего не надо
а все маны и скрипты не упомнишь
нужно только помнить как это быстро сделать

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: rc.d в FreeBSD 8

Непрочитанное сообщение FreeBSP » 2010-11-23 13:04:17

интересно, что скажет дебаг
допиши в скирпт строчку

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

rc_debug="YES"
после

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

. /etc/rc.subr
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-23 13:05:10

FreeBSP спасибо не увидел думал у него будет атрибут исполняемого...
я че то раньше думал, что для всех процессов от rc.d всегда падают пиды в /var/run/ , не венда все же таки..


мне надо в newsyslog.conf
сделать че то типа

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

/var/log/transmission.log transmission:transmission            640  3     100  *     JCB /var/run/transmission.pid 30
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение ttys » 2010-11-23 13:13:31

gonzo111 писал(а):FreeBSP спасибо не увидел думал у него будет атрибут исполняемого...
я че то раньше думал, что для всех процессов от rc.d всегда падают пиды в /var/run/ , не венда все же таки..


мне надо в newsyslog.conf
сделать че то типа

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

/var/log/transmission.log transmission:transmission            640  3     100  *     JCB /var/run/transmission.pid 30
зачем хозяин логфайла transmission:transmission???
если его пишет newsyslogd!!!!

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-23 13:16:39

еще один пофлудить зашел, мне так захотелось, мы с тобой в жаббере эту тему обсуждали


что мне добавить в стартовый скрипт чтоб появился PID файл?
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение ttys » 2010-11-23 20:35:36

gonzo111 писал(а):еще один пофлудить зашел, мне так захотелось, мы с тобой в жаббере эту тему обсуждали
:fool: не пойму на кой ляд??? :st: ну да ладно, это твоё дело. :"":
gonzo111 писал(а):что мне добавить в стартовый скрипт чтоб появился PID файл?
у меня нету ПИД файла :pardon: искал через финд :Search: но так и не нашёл

Гость
проходил мимо

Re: rc.d в FreeBSD 8

Непрочитанное сообщение Гость » 2010-11-23 21:07:19

через find как искали? по расширению .pid что ли?
пробуйте через truss

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение ttys » 2010-11-23 21:22:01

Гость писал(а):через find как искали? по расширению .pid что ли?
пробуйте через truss
да меня это в принципе и не беспокоит, :pardon: работает трансмиссия - пусть работает чё в неё лесть?
это больше нужно gonzo111 :bn:

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: rc.d в FreeBSD 8

Непрочитанное сообщение snorlov » 2010-11-23 23:36:54

А искать через ps -ax | grep transmission не пробовали....

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение ttys » 2010-11-24 13:23:48

snorlov писал(а):А искать через ps -ax | grep transmission не пробовали....
:pardon: так ищем ведь пид файл

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: rc.d в FreeBSD 8

Непрочитанное сообщение snorlov » 2010-11-24 13:41:39

ttys писал(а):
snorlov писал(а):А искать через ps -ax | grep transmission не пробовали....
:pardon: так ищем ведь пид файл
На первое сообщение посмотри, там никакого pid файла нет, просто озадачился человек, почему когда запрашивается статус выдается pid процесса, а самого pid файла он не видит...

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение ttys » 2010-11-24 14:41:12

snorlov писал(а):
ttys писал(а):
snorlov писал(а):А искать через ps -ax | grep transmission не пробовали....
:pardon: так ищем ведь пид файл
На первое сообщение посмотри, там никакого pid файла нет, просто озадачился человек, почему когда запрашивается статус выдается pid процесса, а самого pid файла он не видит...
:shock: ну а я о чём?

Гость
проходил мимо

Re: rc.d в FreeBSD 8

Непрочитанное сообщение Гость » 2010-11-24 14:56:33

https://trac.transmissionbt.com/browser ... n/daemon.c
поиск по строке "Saved pidfile"

можно через -x задать в скрипте флагс - путь на пид файл
и он будет явный

Аватара пользователя
gonzo111
лейтенант
Сообщения: 648
Зарегистрирован: 2007-11-15 16:32:33
Откуда: China
Контактная информация:

Re: rc.d в FreeBSD 8

Непрочитанное сообщение gonzo111 » 2010-11-24 15:16:40

пид файл нам всем нужен (кто юзает трансмишн) ,чтобы сделать корректную ротацию логов, при условии что лог пишет сам трансмишн...
Тяжело в учении легко в РАЮ!
беру зарплату гречкой и сахаром...
Наша комната - lissyara.su@conference.jabber.ru

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: rc.d в FreeBSD 8

Непрочитанное сообщение hizel » 2010-11-24 18:54:51

Гость писал(а):https://trac.transmissionbt.com/browser ... n/daemon.c
поиск по строке "Saved pidfile"

можно через -x задать в скрипте флагс - путь на пид файл
и он будет явный
от спасибо! :-) избавил меня от мучений, надеюсь на этом топик сдохнет, а то его существование в ТОПе - как сирпом по яйцам
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.