No more processes left in this runlevel - Slackware

This is a discussion on No more processes left in this runlevel - Slackware ; Hello fellow slackers, my system: # uname -a Linux slack 2.6.21.5-smp #2 SMP Tue Jun 19 14:58:11 CDT 2007 i686 AMD Sempron(tm) Processor 3000+ AuthenticAMD GNU/Linux # cat /etc/slackware-version Slackware 12.0.0 I can reboot the system but cannot shut it ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: No more processes left in this runlevel

  1. No more processes left in this runlevel

    Hello fellow slackers,

    my system:
    # uname -a
    Linux slack 2.6.21.5-smp #2 SMP Tue Jun 19 14:58:11 CDT 2007 i686 AMD
    Sempron(tm) Processor 3000+ AuthenticAMD GNU/Linux

    # cat /etc/slackware-version
    Slackware 12.0.0

    I can reboot the system but cannot shut it down.

    I have noticed that in v 12 rc.6 is not linked to rc.0 as in v 11.

    If I manually link it to rc.0, the system will reboot even if I issue
    'halt' or 'shutdown -h now'.

    This is my rc.6, if it can help:

    #! /bin/sh
    #
    # rc.6 This file is executed by init when it goes into runlevel
    # 0 (halt) or runlevel 6 (reboot). It kills all processes,
    # unmounts file systems and then either halts or reboots.
    #
    # Version: @(#)/etc/rc.d/rc.6 2.47 Sat Jan 13 13:37:26 PST 2001
    #
    # Author: Miquel van Smoorenburg
    # Modified by: Patrick J. Volkerding,
    #

    # Set the path.
    PATH=/sbin:/etc:/bin:/usr/bin

    # If there are SystemV init scripts for this runlevel, run them.
    if [ -x /etc/rc.d/rc.sysvinit ]; then
    . /etc/rc.d/rc.sysvinit
    fi

    # Set linefeed mode to avoid staircase effect.
    /bin/stty onlcr

    echo "Running shutdown script $0:"

    # Find out how we were called.
    case "$0" in
    *0)
    command="halt"
    ;;
    *6)
    command=reboot
    ;;
    *)
    echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
    exit 1
    ;;
    esac

    # 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

    # Run any local shutdown scripts:
    if [ -x /etc/rc.d/rc.local_shutdown ]; then
    /etc/rc.d/rc.local_shutdown 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

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

    # Shut down the NFS server:
    if [ -x /etc/rc.d/rc.nfsd ]; then
    /etc/rc.d/rc.nfsd stop
    fi

    # Shut down the SSH server:
    if [ -x /etc/rc.d/rc.sshd ]; then
    /etc/rc.d/rc.sshd stop
    fi

    # Shut down the SASL authentication daemon:
    if [ -x /etc/rc.d/rc.saslauthd ]; then
    /etc/rc.d/rc.saslauthd stop
    fi

    # Shut down OpenLDAP:
    if [ -x /etc/rc.d/rc.openldap ]; then
    /etc/rc.d/rc.openldap stop
    fi

    # If it looks like we use an initrd, prepare for one at next boot:
    if /bin/grep -q -w initrd /var/log/messages ; then
    /bin/mkdir -p /initrd
    fi

    # Unmount any NFS, SMB, or CIFS filesystems:
    echo "Unmounting remote filesystems."
    /bin/umount -a -r -t nfs,smbfs,cifs

    # Try to shut down pppd:
    PS="$(ps ax)"
    if /bin/echo "$PS" | /bin/grep -q -w pppd ; then
    if [ -x /usr/sbin/ppp-off ]; then
    /usr/sbin/ppp-off
    fi
    fi

    # Bring down the networking system, but first make sure that this
    # isn't a diskless client with the / partition mounted via NFS:
    if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then
    if [ -x /etc/rc.d/rc.inet1 ]; then
    . /etc/rc.d/rc.inet1 stop
    fi
    fi

    # In case dhcpcd might have been manually started on the command line,
    # look for the .pid file, and shut dhcpcd down if it's found:
    if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then
    /sbin/dhcpcd -k 1> /dev/null 2> /dev/null
    # A little time for /etc/resolv.conf and/or other files to
    # restore themselves.
    sleep 2
    fi

    # Shut down PCMCIA devices:
    if [ -x /etc/rc.d/rc.pcmcia ] ; then
    . /etc/rc.d/rc.pcmcia stop
    # The cards might need a little extra time here to deactivate:
    /bin/sleep 5
    fi

    # Turn off process accounting:
    if [ -x /sbin/accton -a -r /var/log/pacct ]; then
    /bin/echo "Turning off process accounting."
    /sbin/accton
    fi

    # Kill all processes.
    # INIT is supposed to handle this entirely now, but this didn't always
    # work correctly without this second pass at killing off the processes.
    # Since INIT already notified the user that processes were being killed,
    # we'll avoid echoing this info this time around.
    if [ ! "$1" = "fast" ]; then # shutdown did not already kill all processes
    /sbin/killall5 -15
    /bin/sleep 5
    /sbin/killall5 -9
    fi

    # Try to turn off quota.
    if /bin/grep -q quota /etc/fstab ; then
    if [ -x /sbin/quotaoff ]; then
    echo "Turning off filesystem quotas."
    /sbin/quotaoff -a
    fi
    fi

    # Carry a random seed between reboots.
    echo "Saving random seed from /dev/urandom in /etc/random-seed."
    # Use the pool size from /proc, or 512 bytes:
    if [ -r /proc/sys/kernel/random/poolsize ]; then
    /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null
    else
    /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null
    fi
    /bin/chmod 600 /etc/random-seed

    # Before unmounting file systems write a reboot or halt record to wtmp.
    $command -w

    # Clear /var/lock/subsys.
    if [ -d /var/lock/subsys ]; then
    rm -f /var/lock/subsys/*
    fi

    # Turn off swap, then unmount local file systems.
    /bin/echo "Turning off swap."
    /sbin/swapoff -a
    /bin/sync

    echo "Unmounting local file systems."
    KERNEL_VERSION=$(/bin/uname -r | /bin/cut -d . -f 1,2)
    ROOTFS_TYPE=$(/bin/mount | /bin/head -n 1 | /bin/cut -d ' ' -f 5)
    if [ "$KERNEL_VERSION" == "2.4" ]; then
    if [ ! "$ROOTFS_TYPE" = "umsdos" ]; then
    /bin/umount -a -t nonfs,noproc,nosysfs
    else
    /bin/umount -a -t nonfs,noproc,nosysfs,noumsdos
    fi
    else
    if /bin/mount | /bin/grep -q '^/dev/mapper/' ; then
    /bin/umount $(/bin/mount | /bin/awk '/^\/dev\/mapper\// { print $3 }' | /bin/tac)
    fi
    fi

    # Deactivate LVM volume groups:
    if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
    echo "Deactivating LVM volume groups:"
    if [ "$KERNEL_VERSION" == "2.4" ]; then
    /sbin/vgchange -an
    else
    /sbin/vgchange -an --ignorelockingfailure
    fi
    fi

    # Don't remount UMSDOS root volumes:
    if [ ! "$ROOTFS_TYPE" = "umsdos" ]; then
    /bin/umount -a -r -t nonfs,noproc,nosysfs
    echo "Remounting root filesystem read-only."
    /bin/mount -n -o remount,ro /
    else
    /bin/umount -a -r -t nonfs,noproc,nosysfs,noumsdos
    fi

    # This never hurts:
    /bin/sync

    # sleep 1 fixes problems with some hard drives that don't
    # otherwise finish syncing before reboot or poweroff
    /bin/sleep 1

    # This is to ensure all processes have completed on SMP machines:
    wait

    if [ -x /sbin/genpowerd ]; then
    # See if this is a powerfail situation:
    if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
    # Signal UPS to shut off the inverter:
    /sbin/genpowerd -k
    if [ ! $? = 0 ]; then
    echo
    echo "There was an error signaling the UPS."
    echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
    echo "the serial line and UPS type."
    # Wasting 15 seconds of precious power:
    /bin/sleep 15
    fi
    fi
    fi

    # Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
    if [ "$command" = "reboot" ]; then
    echo "Rebooting."
    /sbin/reboot
    else
    /sbin/poweroff
    fi


    --
    Ottavio
    http://www.pledgebank.com/boycottvista

  2. Re: No more processes left in this runlevel

    On 2008-02-07, Ottavio Caruso wrote:
    > Hello fellow slackers,
    >
    > my system:
    > # uname -a
    > Linux slack 2.6.21.5-smp #2 SMP Tue Jun 19 14:58:11 CDT 2007 i686 AMD
    > Sempron(tm) Processor 3000+ AuthenticAMD GNU/Linux
    >
    > # cat /etc/slackware-version
    > Slackware 12.0.0
    >
    > I can reboot the system but cannot shut it down.
    >
    > I have noticed that in v 12 rc.6 is not linked to rc.0 as in v 11.


    Yes, it is (well, you said it backwards, but assuming you meant
    what I think you meant):

    liberty $ ls -l /etc/rc.d/rc.0
    lrwxrwxrwx 1 root root 4 2007-12-29 02:45 /etc/rc.d/rc.0 -> rc.6

    Fix that and you'll be pleased with the result.

    -RW

+ Reply to Thread