Foros del Web » Administración de Sistemas » Unix / Linux »

Error al apagar el PC: se congela en "stopping periodic command scheduler"

Estas en el tema de Error al apagar el PC: se congela en "stopping periodic command scheduler" en el foro de Unix / Linux en Foros del Web. Tengo un problema desde ayer. Al apagar el PC (desde KDE), no termina de apagar, se queda congelado con el mensaje "stopping periodic command scheduler" ...
  #1 (permalink)  
Antiguo 07/06/2006, 13:54
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Pregunta Error al apagar el PC: se congela en "stopping periodic command..." ¡¡SOLUCIONADO!!

Tengo un problema desde ayer. Al apagar el PC (desde KDE), no termina de apagar, se queda congelado con el mensaje "stopping periodic command scheduler" (que si no me equivoco es CRON), y tengo que apagar con el botón de la caja. He buscado información en Google, pero lo único que he encontrado ha sido un mensaje de una persona que tiene un problema similar, pero no ha obtenido ninguna respuesta.

Éste es el contenido de mi archivo /etc/init.d/cron, pero aparte de que no entiendo bien el funcionamiento del mismo, ni siquiera estoy seguro de que el problema esté en ese archivo:

Cita:
dandebian@dan:[~]$ cat /etc/init.d/cron | grep -v \#
test -f /usr/sbin/cron || exit 0

. /lib/lsb/init-functions

case "$1" in
start) log_begin_msg "Starting periodic command scheduler..."
start-stop-daemon --start --quiet --pidfile /var/run/crond.pid --name cron --startas /usr/sbin/cron -- $LSBNAMES
log_end_msg $?
;;
stop) log_begin_msg "Stopping periodic command scheduler..."
start-stop-daemon --stop --quiet --pidfile /var/run/crond.pid --name cron
log_end_msg $?
;;
restart) log_begin_msg "Restarting periodic command scheduler..."
start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/crond.pid --name cron
start-stop-daemon --start --quiet --pidfile /var/run/crond.pid --name cron --startas /usr/sbin/cron -- $LSBNAMES
log_end_msg $?
;;
reload|force-reload) log_begin_msg "Reloading configuration files for periodic command scheduler..."
log_end_msg 0
;;
*) log_success_msg "Usage: /etc/init.d/cron {start|stop|restart|reload|force-reload}"
exit 1
;;
esac
exit 0
dandebian@dan:[~]$
Uso Debian Etch, y hago un apt-get update && apt-get dist-upgrade diario, con los siguientes repositorios:

Cita:
dandebian@dan:[~]$ cat /etc/apt/sources.list | grep -v \#
deb ftp://ftp.es.debian.org/debian/ etch main non-free contrib
deb-src ftp://ftp.es.debian.org/debian/ etch main non-free contrib
deb http://security.debian.org etch/updates main contrib non-free
deb-src http://security.debian.org etch/updates main contrib non-free
deb ftp://ftp.nerim.net/debian-marillat/ etch main
A ver si alguien me puede orientar.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable

Última edición por -Defero-; 09/06/2006 a las 11:47
  #2 (permalink)  
Antiguo 07/06/2006, 14:01
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 8 meses
Puntos: 29
Mira tu runlevel además de la carpeta /etc/rc0.d/ Donde debería estar algún script para terminar el crontab. La verdad más que el problema en concreto hay que mirar ciertos parámetros alrededor de apagar el PC.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #3 (permalink)  
Antiguo 08/06/2006, 09:13
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
El script que comentas es éste, y el contenido es el mismo que el del archivo que he puesto antes:

Cita:
root@dan:[/]# cat /etc/rc0.d/K11cron | grep -v \#

test -f /usr/sbin/cron || exit 0

. /lib/lsb/init-functions

case "$1" in
start) log_begin_msg "Starting periodic command scheduler..."
start-stop-daemon --start --quiet --pidfile /var/run/crond.pid --name cron --startas /usr/sbin/cron -- $LSBNAMES
log_end_msg $?
;;
stop) log_begin_msg "Stopping periodic command scheduler..."
start-stop-daemon --stop --quiet --pidfile /var/run/crond.pid --name cron
log_end_msg $?
;;

restart) log_begin_msg "Restarting periodic command scheduler..."
start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/crond.pid --name cron
start-stop-daemon --start --quiet --pidfile /var/run/crond.pid --name cron --startas /usr/sbin/cron -- $LSBNAMES
log_end_msg $?
;;
reload|force-reload) log_begin_msg "Reloading configuration files for periodic command scheduler..."
log_end_msg 0
;;
*) log_success_msg "Usage: /etc/init.d/cron {start|stop|restart|reload|force-reload}"
exit 1
;;
esac
exit 0
root@dan:[/]#
De hecho, según el README que se encuentra en el directorio /etc/rc0.d, ese archivo no es más que un enlace simbólico al otro archivo. Por eso el contenido es igual.

Cita:
root@dan:[/etc/rc0.d]# cat README
The scripts in this directory are executed once when entering
runlevel 0.

The scripts are all symbolic links whose targets are located in
/etc/init.d/ .


Generally it is not necessary to alter the scripts in this directory.
Their purpose is to stop all services and to make the system ready
for shutdown.

For a more information see /etc/init.d/README.
root@dan:[/etc/rc0.d]# ls -l | grep cron
lrwxrwxrwx 1 root root 14 2005-12-31 23:00 K11cron -> ../init.d/cron

root@dan:[/etc/rc0.d]#
La cuestión es que no hay ningún problema para detener CRON mediante el código de ese script:

Cita:
root@dan:[/etc/init.d]# ps aux c | grep cron
root 12024 0.0 0.3 2208 864 ? Ss 17:10 0:00 cron
root@dan:[/etc/init.d]# start-stop-daemon --stop --quiet --pidfile /var/run/crond.pid --name cron
root@dan:[/etc/init.d]# ps aux c | grep cron
root@dan:[/etc/init.d]#
Se me ocurre que el problema puede no ser de CRON, sino del siguiente proceso de la lista, que se resiste a terminar. No sé cuál es el siguiente proceso (se agradecen sugerencias), aunque yo probaría a seguir un orden alfabético. Así que el siguiente es CUPSYS.

Cita:
root@dan:[/etc/init.d]# cat cupsys | grep -v \#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/cupsd
NAME=cupsd
PIDFILE=/var/run/cups/$NAME.pid

DESC="Common Unix Printing System"

test -f $DAEMON || exit 0

set -e

if [ -e /etc/timezone ]; then
TZ=`cat /etc/timezone`
export TZ
fi

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
chown root:lpadmin /usr/share/cups/model 2>/dev/null || true
chmod 3775 /usr/share/cups/model 2>/dev/null || true
start-stop-daemon --start --quiet --pidfile "$PIDFILE" --exec $DAEMON
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --quiet --user root --retry TERM/10 --oknodo --pidfile $PIDFILE --name $NAME
echo "."
;;
reload)
echo -n "Reloading $DESC: $NAME"
start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --signal 1
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
if start-stop-daemon --stop --quiet --user root --retry TERM/10 --oknodo --pidfile $PIDFILE --name $NAME; then
start-stop-daemon --start --quiet --pidfile "$PIDFILE" --exec $DAEMON
fi
echo "."
;;
status)
echo -n "Status of $DESC: "
if [ ! -r "$PIDFILE" ]; then
echo "$NAME is not running."
exit 3
fi
if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
echo "$NAME is running."
exit 0
else
echo "$NAME is not running but $PIDFILE exists."
exit 1
fi
;;
*)
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac

exit 0
root@dan:[/etc/init.d]#
Voy a probar a detener CUPSD sustituyendo las variables en el código:

Cita:
root@dan:[/etc/init.d]# ps aux c | grep cups
root 6133 0.0 0.7 5904 1952 ? Ss 15:04 0:00 cupsd
root@dan:[/etc/init.d]# start-stop-daemon --stop --quiet --user root --retry TERM/10 --oknodo --pidfile cupsd.pid --name cupsd
root@dan:[/etc/init.d]# ps aux c | grep cups
root@dan:[/etc/init.d]#
El proceso se detiene sin problemas.

Parece ser que no es problema de CUPS, y tampoco de CRON. Si estoy en lo cierto, debería averiguar qué proceso es el que se detiene justo después de CRON, y revisar su script. Pero no tengo ni idea de cómo averiguar eso. Agradecería que alguien me orientara, estoy demasiado perdido. Estoy revisando los logs de /var/log, pero no sé muy bien lo que debo buscar, y de momento no encuentro nada útil.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #4 (permalink)  
Antiguo 08/06/2006, 09:21
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 8 meses
Puntos: 29
Bueno generalmente el contenido de todos los archivos dentro de /etc/init.d están apuntando hacia otros archivos creados con anterioridad, en otra carpeta. Generalmente la nomenclatura cuando tu apagas el PC es la siguiente...

K11cron significa que tiene que matar (Kill) el proceso al ejecutarse el run level 0, y si hubiera por decir algo un K13network en rc0.d entonces se ejecutaría secuencialmente despues que K11cron. La verdad no entiendo a fondo el problema pero espero que lo puedas solucionar. ¿has mirado que se ejecuten los scripts de administracion de energía al apagarse (ACPI)?

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #5 (permalink)  
Antiguo 08/06/2006, 09:30
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Cita:
Iniciado por Koveart
(...) K11cron significa que tiene que matar (Kill) el proceso al ejecutarse el run level 0, y si hubiera por decir algo un K13network en rc0.d entonces se ejecutaría secuencialmente despues que K11cron.
Creo que acabas de encontrar la respuesta. Según lo que me dices y según esto:

Cita:
root@dan:[/etc/rc0.d]# ls
K01gdm K20inetd K25hwclock.sh S30urandom
K01kdm K20lpd K50alsa-utils S31umountnfs.sh
K11cron K20makedev K79nfs-common S32portmap
K19mysql-ndb-mgm K20mysql K86ppp S35networking
K20clamav-freshclam K20nvidia-glx K89atd S36ifupdown
K20cupsys K20nvidia-glx-legacy K89hotplug-net S40umountfs
K20dbus K20nvidia-kernel K89klogd S60umountroot
K20dbus-1 K20ssh K90sysklogd S90halt
K20dirmngr K21fam K91apache2
K20exim4 K21mysql-ndb README
K20gkrellmd K21spamassassin S20sendsigs
Después de CRON se debería detener MySQL. Así que imagino que el problema debe de estar ahí.

Cita:
¿has mirado que se ejecuten los scripts de administracion de energía al apagarse (ACPI)?
No sé ni cómo se hace, pero primero voy a mirar lo de MySQL, y si no funciona probaré con esto. Muchas gracias.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #6 (permalink)  
Antiguo 08/06/2006, 09:40
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 8 meses
Puntos: 29
Si no te funciona cambia el orden de ejecucion de los scripts con el numerito que te dije y si no renombra el script K11cron por k11cron y de esta manera no se ejecutará hasta que coloques la K mayúscula.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #7 (permalink)  
Antiguo 08/06/2006, 09:51
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Cita:
Iniciado por Koveart
(...) no renombra el script K11cron por k11cron y de esta manera no se ejecutará hasta que coloques la K mayúscula. (...)
Buen truco. Voy a tener que probar varios scripts, porque deteniendo MySQL sigo sufriendo el mismo error, así que tu consejo va a ser muy útil. Lo malo es que el único modo de probarlo es reiniciar constantemente el PC, así que va a ser una laaaaaaarga sesión de probatinas.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #8 (permalink)  
Antiguo 08/06/2006, 10:20
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 8 meses
Puntos: 29
¿Has probado apagar el equipo con el comando halt o poweroff? No recuerdo bien pero creo que los dos lo que hacen es apagar la maquina sin necesidad de consultar el runlevel 0 o sea la carpeta rc0.d

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #9 (permalink)  
Antiguo 09/06/2006, 11:33
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
No he podido acceder al foro hasta ahora, me daba error continuamente. Creo que era problema del servidor.

La cuestión es que ya lo he solucionado. Tenías razón, era uno de esos condenados scripts. En concreto, el script /etc/rc0.d/K20clamav-freshclam. No sé por qué fallaba, de momento me he limitado a desactivarlo (cambiado "K" por "k", como me has dicho), y ya lo averiguaré más adelante. La verdad es que ha sido un tanto pesado encontrar el script que fallaba, he tenido que reiniciar alrededor de 10 veces, pero bueno, ha merecido la pena.

Muchas gracias por tu ayuda.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #10 (permalink)  
Antiguo 09/06/2006, 12:33
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 8 meses
Puntos: 29
Ahora deberías encontrar la razón de porque te fallaba ese servicio, aunque en realidad esta manera de terminar servicios, es decir con Knnservicio simplemente es para hacer las cosas al derecho. Podrías desactivar el clamav, ya que en linux no creo que te atosiguen mucho los virus para evitar terminar el servicio de manera abrupta...

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #11 (permalink)  
Antiguo 09/06/2006, 13:08
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
No tengo ningún problema de virus, lo que pasa es que al configurar Kmail, encontré una opción que me permitía establecer un filtro antivirus externo, y más por curiosidad que otra cosa, instalé ClamAV.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #12 (permalink)  
Antiguo 09/06/2006, 13:31
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 21 años, 8 meses
Puntos: 29
Si bueno las posibilidades de que te envíen un virus conociendo tus vulnerabilidades es mínima, eliminar clamav es una buena opción para eliminar ese molesto problema.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:35.