¿Cómo puedo detener un trabajo cron que se está ejecutando actualmente?
¿Cómo puedo detener un trabajo cron que se está ejecutando actualmente?
Respuestas:
Puede hacer esto de la misma manera que detendría cualquier proceso.
Para detener un cron
trabajo actualmente en ejecución , puede realizar una de las siguientes acciones:
pkill process-name
o si conoce el PID (puede determinarlo ejecutando ps
):
kill 1234
(sustituyendo el PID real)
pgrep
o grep
la salida de ps
. No hay nada especial en un proceso desde el que se ejecuta cron
. Simplemente buscaría el proceso con su propio nombre. También puede hacer ps fauxww | grep -A 1 '[C]RON'
y las líneas debajo de la (s) línea (s) mostrarán los trabajos en ejecución cron
. Puede ajustar el número 1 más alto para ver los subprocesos, si los hay.
ps fauxww | grep -A 1 '[C]RON'
. Esto enumera los trabajos cron actuales en ejecución, por lo que luego puede anotar el PID y ejecutarlo # kill -9 PID
. ¡Gracias!
-9
solo debe usarse como último recurso porque evita que el proceso realice una limpieza a medida que sale.
Para dejar de ejecutar el trabajo cron. Primero obtenga el id de proceso de su comando con
top -p $(pgrep -d',' your_command)
p.ej:-
top -p $(pgrep -d',' httpd)
y correr
kill PID
reemplazar PID
con id de proceso
Extraño, nadie ha mencionado este método:
$ crontab -e
En el editor abierto, elimine la línea de la tarea que desea detener o inserte un #
signo, guarde y salga
p.ej
antes de
* * * * * some_script1
* * * * * some_script2
después
* * * * * some_script1
#* * * * * some_script2
o
* * * * * some_script1
reiniciar el servicio después de hacer cambios por
sudo service cron reload
Si está utilizando Redhat (RHEL) / Fedora Core / Cent OS Linux, use el siguiente comando:
/etc/init.d/crond stop
Si está utilizando Debian o Ubuntu Linux, el siguiente comando:
/etc/init.d/cron stop
PD: deberías ser root para hacer estas cosas
Primero escriba ps aux
para ver qué se están ejecutando todos los procesos.
Luego tome nota PID
de cada proceso que desea detener
Luego escribe
kill {PID
} para cada proceso.
También eche un vistazo a estos enlaces (enlaces de superusuario):
Puede editar la tabla cron y comentar la tarea en cuestión. Cambie al usuario que controla la tarea, exporte su editor de elección al entorno y luego use crontab -l
:
$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l
crontab -e
para editarlo. Para los sistemas que lo tienen, es preferible usarlo en sudo
lugar de su
. Además, crontab -e
funcionaría para el crontab del usuario (o root), pero no para el crontab del sistema (por ejemplo /etc/cron*
).