Come interrompere un processo cron attualmente in esecuzione?


45

Come posso interrompere un lavoro cron attualmente in esecuzione?


2
Le tre risposte seguenti interpretano questa domanda in tre modi. @GURU, potresti chiarire cosa vorresti fare? Vorresti interrompere un processo avviato da cron che è ora in esecuzione o desideri impedire l'esecuzione del lavoro in futuro?
jcrawfordor,

Risposte:


29

Puoi farlo nello stesso modo in cui fermeresti qualsiasi processo.

Per interrompere un cronlavoro attualmente in esecuzione , è possibile effettuare una delle seguenti operazioni:

pkill process-name

o se conosci il PID (puoi determinarlo eseguendo ps):

kill 1234

(sostituendo il PID effettivo)


1
come elencare quali lavori cron attualmente in esecuzione?
UWU_SANDUN,

5
@UWU_SANDUN: è possibile utilizzare pgrepo grepl'output di ps. Non c'è niente di speciale in un processo eseguito da cron. Dovresti semplicemente cercare il processo con il suo nome. Puoi anche fare ps fauxww | grep -A 1 '[C]RON'e le linee sotto le linee mostreranno i lavori in corso cron. È possibile regolare il numero 1 in alto per vedere eventuali sottoprocessi.
In pausa fino a nuovo avviso.

Nota che devi eseguire cygwin come amministratore per terminare i processi. Vedi qui per maggiori informazioni a riguardo.
takanuva15,

Utilizzando Ubuntu ho digitato cosa @ takanuva15 suggerito, ps fauxww | grep -A 1 '[C]RON'. Questo elenca gli attuali lavori cron in esecuzione, quindi in seguito puoi annotare il PID ed eseguirlo # kill -9 PID. Grazie!
Russellhoff,

@russellhoff: -9dovrebbe essere usato solo come ultima risorsa perché impedisce al processo di eseguire qualsiasi ripulitura all'uscita.
In pausa fino a nuovo avviso.

17

Per interrompere l'esecuzione di cron job. Prima ottenere l'ID processo del comando con

top -p $(pgrep -d',' your_command)

per esempio:-

top -p $(pgrep -d',' httpd)

e corri

kill PIDsostituire PIDcon ID processo


15

Strano, nessuno ha menzionato questo metodo:

$ crontab -e

Nell'editor aperto, eliminare la riga dell'attività che si desidera interrompere o inserire un #segno, salvare ed uscire

per esempio

prima

* * * * * some_script1
* * * * * some_script2

dopo

* * * * * some_script1
#* * * * * some_script2

o

* * * * * some_script1

riavviare il servizio dopo aver apportato le modifiche entro

sudo service cron reload

16
Questo non interrompe un processo cron attualmente in esecuzione, arresta i processi cron futuri che verranno avviati da cron.
Ivan,

10

Se stai usando Redhat (RHEL) / Fedora Core / Cent OS Linux usa il seguente comando:

/etc/init.d/crond stop

Se stai usando Debian o Ubuntu Linux il seguente comando:

/etc/init.d/cron stop

PS: dovresti essere root per fare queste cose


2
penso che fermi tutti i croni. per fermare cron particolari potrei conoscere il comando

puoi suggerire qualsiasi comando sen

Non penso che sia possibile in modo diretto .. Forse dovremmo fare un trucco.
Sen


3

È possibile modificare la tabella cron e commentare l'attività in questione. Passa all'utente che controlla l'attività, esporta il tuo editor preferito nell'ambiente, quindi usa crontab -l:

$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l

1
Questo elenca il crontab. Utilizzare crontab -eper modificarlo. Per i sistemi che lo hanno, è preferibile usare sudoinvece di su. Inoltre, crontab -efunzionerebbe per l'utente (o root) crontab, ma non per il sistema crontab (ad es /etc/cron*.).
In pausa fino a nuovo avviso.

1

crontab -r

rimuoverebbe tutti i crontab in esecuzione, oppure è possibile semplicemente commentare i comandi nel crontab che devono essere arrestati.


0

Prima di tutto controlla il processo di lavoro con questo comando.

ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"

L'output di questo comando è

599  599 cron
4288  599 \_ CRON

e ora uccidi il processo con questo comando

pkill -s 4288

0

Lavorando per me per Linux

pkill -9 crontab

Uccide tutti i processi con nome processo crontab

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.