Как убить работу cron, если она не отображается в 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
и не видел граблей в списке. Я попытался убить pid 4228, но это не помешало запуску граблей. Убил его 3 или 4 раза и все еще видел вывод в логах (и задача rake дошла до конца).
Как я могу убить эту работу cron? Он работает в час и занимает около 20 минут (много работает и работает ежечасно, потому что я его тестирую). Я устраняю неполадки, и я хотел бы убить его, если он работает неправильно, что я вижу в журналах.
1 ответ
Я думаю, что cron порождает работу, так что у вас не будет процесса cron, связанного с этим. Я бы попробовал ps wwuxa |grep rake
, Вы говорите, что уже сделали? процесс должен быть таким, как вы упомянули, я думаю, что вы все делаете правильно, вы можете попробовать с моей штукой "wwuxa" для ps просто охватить все ваши базы.