10 votos

procesos "cron" que se acumulan

Tengo cronjobs haciendo varias tareas de limpieza:

 $ crontab -l
0 * * * * find ${HOME}/Downloads -depth 1 -d -mtime +12h -exec /usr/local/bin/trash {} \;
* * * * * /usr/bin/defaults delete com.apple.Spotlight userHasMovedWindow > /dev/null
* * * * * /usr/bin/defaults delete com.apple.Spotlight windowHeight > /dev/null
 

Sin embargo, parece que los trabajos, por alguna razón, nunca existen. En cambio, permanecen y se muestran como (cron) acompañados por (find) o (defaults) en la salida de ps y en el monitor de actividad.

Sucede para todos los trabajos.

Después de horas o días, la computadora se congela ya que el sistema operativo no permitirá que se generen más procesos.

 $ sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.15
BuildVersion:   19A583
 

1voto

Kenial Puntos 111

El UNIX tradicional forma de evitar que un programa de tener varias copias de ejecución es con un .pid (o bloqueo) de archivo. El siguiente ejemplo aparece en varios lugares:

#!/bin/sh

NAME=$(basename "$0")

if [ -f /var/run/"$NAME.pid" ] &&
  ps -p $(cat /var/run/"$NAME.pid") >/dev/null 2>&1
then
   echo "Script is currently in progress... aborting..."
   exit 3
fi

# Remove the .pid file on exit (by setting a trap)
trap 'rm -f /var/run/"$NAME.pid"' EXIT

# Echoes the current PID to the .pid file
echo $$ > /var/run/"$NAME.pid"

La desventaja es que usted tendría que mover sus comandos en archivos de secuencia de comandos.

Descargo de responsabilidad: usted todavía tiene que averiguar por qué los programas no salga como se debe, pero esto le permite, al menos, no abusar de tu sistema. También puede optar yo matar a los infractores PID en lugar de salir de la recién iniciada la secuencia de comandos.

0voto

Oskar Puntos 1242

¿Le ha otorgado acceso completo al disco a su ejecutable cron?

Las preferencias del sistema deben permitir que esa tarea escriba y lea para la mayoría de los casos de uso. Reiniciaría y luego haría este cambio y miraría.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X