¿Cómo elimino un trabajo cron antes de ejecutar otro?

¿Cómo elimino un trabajo cron antes de ejecutar otro?

En el crontab -u pi -ede mi marco digital tengo dos procesos.

El primero llamafehal reiniciar e inicia una presentación de diapositivas.

@reboot bash /home/pi/ledslide1.sh >> /home/pi/logs/slidelog 2&>1

Y luego se deben iniciar otras instancias en determinados momentos.

15 8 * * * bash /home/pi/ledslide2.sh >> /home/pi/logs/slidelog 2&>1
15 9 * * * bash /home/pi/ledslide3.sh >> /home/pi/logs/slidelog 2&>1
...

Pero la fehpresentación de diapositivas se repite. De esa manera primero tengo que finalizar el proceso, ¿verdad? timeoutno funciona porque no sé cuando se reinicia?

Respuesta1

En sus scripts ledslide.sh, simplemente use pkill -9 fehto kill feh. No es necesario realizar un seguimiento de los PID ni nada por el estilo. pkillse utiliza para buscar y eliminar procesos con un nombre determinado. Sugiero leer manpagefor pkilly pgrep.

Respuesta2

Esto me ha funcionado hasta ahora:

@reboot bash /home/pi/ledslide1.sh >> /home/pi/logs/slidelog 2&>1
15 8 * * * pkill -9 feh && bash /home/pi/ledslide2.sh >> /home/pi/logs/slidelog 2&>1

El archivo .sh lo invoca fehy lo pone en segundo plano. pkill -9 [KEYWORD]cierra el fehproceso.

información relacionada