Kill all currently running cron jobs

by I wrestled a bear once.   Last Updated February 13, 2018 14:00 PM

For some reason my cron job scripts aren't exiting cleanly and they're backing up my server. There are currently a couple hundred processes running for one of my users. I can use the following command to kill all processes by that user, but how can I simplify this to kill only crons?

pgrep -U username | while read id ; do kill -6 $id ; done

It would be dangerous to run the above command as is, correct? Wouldn't that kill mysql and other important things?

Answers 2

To kill all processes for the user, you have a few options. I like: su - username then kill -9 -1

To see which "cron" processes belong to user :

pgrep -u username cron

To kill those processes:

pkill -u username cron
August 20, 2014 16:21 PM


kill -6 $(pgrep -U username cron) 

You can search with pgrep full string with -f arg if you need to kill specific cron jobs, while let others live.

kill signal is pretty dangerous really, so you should check what you are going to kill. If username is 'root' then you can kill important things, yes.

August 20, 2014 16:24 PM

Related Questions

Fork a process inside a bash shell script

Updated July 27, 2015 15:00 PM

different interactive and non-interactive shells

Updated May 26, 2015 02:00 AM