Nexcess Logo

How to find and remove hanging Magento cron jobs with SSH

Knowledge Base Home

Notice anything different?

We've enhanced the appearance of our portal and we're working on updating screenshots. Things might look different, but the functionality remains the same.
September 10, 2019

Magento 1 cron jobs will occasionally freeze. You may notice the cron job has failed to run at its designated time or times, or you may receive notification of a cron job failing to run when you log in as an administrator.

 Read Magento Maintenance: Five Tasks That Will Keep Your Store Running Smoothly.

Solution

The following procedure outlines how to use SSH to confirm a hanging cron job and how to flush it so it can run as scheduled. However, if your cron consistently hangs, this suggests a larger issue and you should contact the Nexcess Support Team for assistance.

  1. Log in to your account using SSH.

  2. Run the following command to locate hanging cron jobs:

    <username>@sip4-000 ~]$ ps ufx | grep cron
  3. The output should resemble output shown below:
    root 12080 0.0 0.0 117328 460 ? Ss Mar25 5:23 crond
    username 26529 0.0 0.0 103244 848 pts/0 S+ 22:33 0:00 \_ grep cron
    username 6876 5.0 0.3 646760 88476 ? S 15:42 20:50 /usr/bin/php /chroot/home/username/domainname.com/html/cron.php -mdefault
    • The first line shows the cron service running on the server.

    • The second line shows the command that you just ran. It matches itself when looking for the word "cron" in the running services.

    • Most importantly, the third line shows your Magento cron job. The cron job usually runs quickly, so if it shows up here, it is likely hanging.

    • You can confirm a hanging cron job by checking the second column from the right. The 15:42 20:50 shows the duration of the cron job; if this duration takes longer than an hour, then it is hanging.

  4. To stop the cron from running, kill the command by referencing the PID. Returning to the command output, the second column from the left is the PID 6876.

  5. Run the following command to terminate the command:
    [username@sip4-000 ~]$ kill -9 6876
  6. You may now run the ps ufx | grep cron command to confirm the Magento cron job is no longer running. Your Magento cron job will now continue as scheduled.


For 24-hour assistance any day of the year, contact our support team by email or through your Client Portal.

Jason Dobry
We use cookies to understand how you interact with our site, to personalize and streamline your experience, and to tailor advertising. By continuing to use our site, you accept our use of cookies and accept our Privacy Policy.