如果 cron 作业未在 ps 中显示,该如何终止它?或者让它在 ps 中显示?

如果 cron 作业未在 ps 中显示,该如何终止它?或者让它在 ps 中显示?

我有一个像这样设置的 cronjob:

~> crontab -l
0 * * * * /bin/bash -l -c 'cd /mnt/hgfs/kodiak && RAILS_ENV=test bundle exec 
    rake nightly_tasks --silent 2>> ./log/tasks_errors.log'

我可以看到 cron 作业正在运行,因为它正在被记录,并且日志正在更新。但是当我使用ps或时,ps -ef | grep cron我看不到正在运行的作业:

~> ps -ef | grep cron
 root      4228     1  0 09:14 ?        00:00:00 cron
 user      4233  3545  0 09:14 pts/3    00:00:00 grep --color=auto cron

我尝试了相同的命令,grep rake但没有在列表中看到 rake。我确实尝试过杀死 pid 4228,但它并没有阻止 rake 作业运行。杀死它 3 或 4 次后,仍然在日志中看到输出(rake 任务已经结束)。

我如何终止这个 cron 作业?它每小时运行一次,大约需要 20 分钟(它执行很多任务,并且每小时运行一次,因为我正在测试它)。我正在对它进行故障排除,如果它运行不正确,我想终止它,我可以在日志中看到。

答案1

我认为 cron 会生成作业,因此您不会有与之相关的“cron”进程。我会尝试ps wwuxa |grep rake。您说您已经这样做了?该进程必须像您提到的那样存在,我认为您做得对,您可能想尝试使用我的“wwuxa”东西进行 ps 以覆盖所有基础。

相关内容