Records in the cron_schedule table which are stuck in the running status like this are generally due to the PHP process encountering a fatal error. When a fatal error occurs, the job is halted, and Magento does not attempt to cleanup records left in the running status regardless of how long ago the execution was attempted.
In the example above, you are showing a record which has been hanging around for a few months. Those can be manually removed without causing any harm. A word of warning though… be careful not to remove running records which are for the current day (or previous day to be safe) as doing so will cause errors when the cron job is cleanup up after finishing the job.
If the same job is consistently failing and leaving these around, i.e. not going to a completed status very often, you'll want to dig into your PHP error logs and find out what the problem is. Considering you have over a hundred of these, I would take a look at your error logs to find the root cause. It may even be as simple as needing to increase the memory allocated to the PHP process running the cron, but could also be the result of a bug in the code which would need to be patched.
Magento 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.
Resolving the problem
Log in to your account using SSH.
Run the following command to locate hanging cron jobs:
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.
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.
Run the following command to terminate the command:
kill -9 6876
You may now run the ps aufx | grep cron command to confirm the Magento cron job is no longer running. Your Magento cron job will now continue as scheduled.
Best Answer
if you are using Linux server
or
It will show the cron id. if cron id will show cron is running fine. else cron is dead are not running.
otherwise please install aoe scheduler. it will show the heartbeat of cron running.
Hope it will helpful for you.