Значит установил я на серваке verlihub. Работает отлично. Но как дошло дело до автозагрузки - запарка возникла. День уже прое...ся.
Так вот подправил я скриптик /usr/bin/vh_runhub
Вот содержимое измененного файла /usr/bin/vh_runhub_dchub
#!/bin/sh
# don't change these variables
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
confdir="/etc/verlihub"
vardir="/var/verlihub"
# feel free to change these
prefix=/usr
exec_prefix=${prefix}
exepath=${exec_prefix}/bin # default location for the hub config directory
logfile=$vardir/log
errfile=$vardir/err
# check config dir
if [ ! -d $confdir ]; then
echo FATAL ERROR: missing configuration directory $confdir
echo You must run verlihub from the directory that contains configuration dir:$confdir
exit 1
fi;
# run it
su dchub -c "${exepath}/verlihub >>$logfile 2>>$errfile &"
exit 0
#!/bin/sh
#
# /etc/rc.d/rc.verlihub
#
# Start/stop/restart the services for DC-server.
#
verlihub_start() {
if [ -x /usr/bin/vh_runhub_dchub ]; then
echo "Starting verlihubub"
/usr/bin/vh_runhub_dchub
fi
}
verlihub_stop() {
killall verlihub
}
verlihub_restart() {
verlihub_stop
sleep 2
verlihub_start
}
case "$1" in
'start')
verlihub_start
;;
'stop')
verlihub_stop
;;
'restart')
verlihub_restart
;;
*)
# Default is "start", for backwards compatibility with previous
# Slackware versions. This may change to a 'usage' error someday.
echo "start|stop|restart"
esac
Когда вручную набираю /etc/rc.d/rc.verlihub start - все запускается и отлично пашет.
А если пропишу эту строчку в rc.local - не запускается падла. Точнее запускается, в логах верлихуба видно что запускался. Но уже после загрузки в процессах его нету. Не пойму в чем может быть проблема.
А, заметил еще такую вещь, verlihub даже не успевает ничего написать в логфайл - он сразу умерает. Если после загрузки скрипта напишу sleep 5 то в лог верлихуб пишет, причем пишет что все нормально, запущено, слушает порты...
Пришлось самому разобраться. Поставил sleep 600, зашел по ссш - верлихуб отлично пашет. Через 10 минут он умирает. По ps aux видно, что verlihub запущен по tty1. Я так понял, что его убивает процесс agetty который в inittab стартует после rc.M. Когда прописал старт скрипта в самом конце inittab'a - он стал отлично запускаться. Пока работает так, но как-то всеравно через ж... Может кто-нить че-нить посоветовать как всетак его грузить нормально из скрипта через rc.M?
admiral, спасибо за информацию, благодаря ней я смог написать патч для verlihub чтобы пофиксить эту проблему
Дело в том что разработчики некоректно выполняли инициализацию демона.