我有一个像这样设置的 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 以覆盖所有基础。