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

Исходное сообщение
"INIT: no more processes left in this runlevel"

Отправлено m1m1n0 , 21-Июл-05 15:49 
Доброго вермени суток...
Втух на какой то загадочной трабле.
Установил на  машине с ОС линух slackware10.1 nacctd (подсчет трафика+mysql), прописал его в скрипты загрузки на старт в rc.3 и f rc.0 на остановку. Загрузка проходит в норме, но при ребуте или poweroff втухает с красивой надписью INIT: no more processes left in this runlevel, и дальше только кнопкой на системнике :(
Если убрать его из rc.0 скрипты остановки nacctd то ребут и шатдаун проходит как по маслу...
Кусок моего rc.0
~~~~~~~~~~~~~~
# Save the system time to the hardware clock using hwclock --systohc.
if [ -x /sbin/hwclock ]; then
  # Check for a broken motherboard RTC clock (where ioports for rtc are
  # unknown) to prevent hwclock causing a hang:
  if ! grep -q -w rtc /proc/ioports ; then
    CLOCK_OPT="--directisa"
  fi
  if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
    echo "Saving system time to the hardware clock (UTC)."
    /sbin/hwclock $CLOCK_OPT --utc --systohc
  else
    echo "Saving system time to the hardware clock (localtime)."
    /sbin/hwclock  $CLOCK_OPT --localtime --systohc
  fi
fi
# Stop the nacctd:
if [ -x /etc/rc.d/rc.nacctd ]; then
  . /etc/rc.d/rc.nacctd stop
fi

if [ -x /etc/rc.d/rc.stunnel ]; then
. /etc/rc.d/rc.stunnel stop
fi

# Stop the squid:
if [ -x /etc/rc.d/rc.squid ]; then
  . /etc/rc.d/rc.squid stop
fi


# Stop the Apache web server:
if [ -x /etc/rc.d/rc.httpd ]; then
  . /etc/rc.d/rc.httpd stop
fi


# Stop the MySQL database:
if [ -r /var/run/mysql/mysql.pid ]; then
  . /etc/rc.d/rc.mysqld stop
fi

~~~~~~~~~~~~~~


а вот скрипт запуска rc.nacctd

~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
#
# Startup script for nacctd
#

DAEMON=/usr/local/sbin/nacctd
PIDFILE=/var/run/nacctd.pid

case "$1" in
'start')
        echo "Starting nacctd accounting daemon."
        $DAEMON
        ;;
'stop')

        if [ -f "$PIDFILE" ]; then
                echo "Stopping nacctd accounting daemon."
                kill  `cat $PIDFILE`
        else
                echo "nacctd not running."
        fi
        ;;
*)
        echo "Usage: $0 { start | stop }"
        exit 1
esac
exit 0
~~~~~~~~~~~~~~~~~~~~~~~~
ПАмагите кто чем может, я хз что дальше делать, даже не могу раздуплить куда рыть... На каком основании он матюкается.
Оставить  nacctd без выгрузки не могу так как он (nacctd) при подачи на него сигнала TERM инсертит данные в mysql, т.е. nacctd должен выгружаться раньша мускула.
Заранее благодарю за ваши подсказайки...


Содержание

Сообщения в этом обсуждении
"INIT: no more processes left in this runlevel"
Отправлено jt , 21-Июл-05 16:35 
Это сообщение создано, чтобы поднять данный пост. У меня такая же проблема была (я её не решил...) Может кто поможет. Хороший вопрос.

"INIT: no more processes left in this runlevel"
Отправлено m1m1n0 , 21-Июл-05 21:42 
>Это сообщение создано, чтобы поднять данный пост. У меня такая же проблема
>была (я её не решил...) Может кто поможет. Хороший вопрос.
я же и помогу, разобрался но не до конца, завтра выложу что сделал


"INIT: no more processes left in this runlevel"
Отправлено m1m1n0 , 29-Июл-05 13:15 
#!/bin/sh
# Start squid:
squid_start() {
  if [ -x /usr/sbin/squid ]; then
    if  [ -r /var/lib/squid/logs/squid.pid ] ; then
        if ! ps axc |  grep squid 1> /dev/null 2> /dev/null; then
        echo "Cleaning up old squid.pid"
        rm -f  /var/lib/squid/logs/squid.pid
        fi
    fi
    echo "Starting cache proxy server : /usr/sbin/squid"
    /usr/sbin/squid
fi
}

# Stop squid:
squid_stop() {
  /usr/sbin/squid  -k kill
        echo "Stopping cache server: squid"

}

# Restart squid:
squid_restart() {
  echo "Restarting cache server squid"
#  /usr/sbin/squid -k shutdown
/usr/sbin/squid  -k kill
  sleep 2
  squid_start
}

case "$1" in
'start')
  squid_start
  ;;
'stop')
  squid_stop
  ;;
'restart')
  squid_restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
так все заработало, но не пойму в чем был трабл, если кто знает из за чег это подскажите плиз


"INIT: no more processes left in this runlevel"
Отправлено Nimdar , 29-Июл-05 13:28 
> *)
>        echo "Usage: $0 { start | stop }"
>        exit 1
>esac
>exit 0
^^^^^^
Скрипт отработал и вышел. А поскольку скрипты вызываются из rc.0, то происходит остановка. Это тоже самое, что в rc.0, где-нибудь посередине постаивть exit

"INIT: no more processes left in this runlevel"
Отправлено m1m1n0 , 29-Июл-05 13:43 
>Скрипт отработал и вышел. А поскольку скрипты вызываются из rc.0, то происходит
>остановка. Это тоже самое, что в rc.0, где-нибудь посередине постаивть exit
>
Спасиба тебе о добрый гуру, раздуплил. А я целый день бился чего оно не работает...