Проверить, что процесс уже запущен в webfaction?

Я использую структуру Django в webfaction и имею 5 различных заданий cron. Один из них длится намного дольше, чем другие, и иногда застревает (30-120 секунд или более).

Я уже установил, что задание cron запускается каждую минуту, однако, если это не завершено, запускается другой процесс с /home/aemdy/webapps/hvan/myproject/myfile.py который вызывает высокую память, медленную работу сайта и приводит к сбою Apache или утечке памяти.

Я не хочу устанавливать его на */3 * * * * , однако мне нужно что-то вроде:

 if this process in process list: pass else: run process 

Это можно сделать?

  • Как я могу проверить, запущен ли мой cronjob на моем сервере через PHP?
  • Задача Cron для выполнения файлов jar файлов по рабочим дням по местному времени с 8 до 17 часов, без выходных
  • Как запустить демона cron
  • Интерактивная оболочка со средой, идентичной cron
  • Кронтаб с SVN и Git
  • Docker Debian Jessie: не удается найти / var / log / syslog
  • Работа Anacron жалуется: «Gtk-WARNING **: невозможно открыть дисплей»
  • Как использовать crontab и mutt для выполнения команды и отправки ее вывода?
  • One Solution collect form web for “Проверить, что процесс уже запущен в webfaction?”

    Традиционным методом для этого было бы проверить ваш скрипт на наличие файла в /var/run при его запуске, если он не существует, тогда создайте файл, содержащий свой собственный PID. По завершении сценарий удалит этот файл. Если файл существует, сценарий просто выходит. Таким образом, независимо от того, как часто вызывается сценарий, он будет выполнять свой основной код только в том случае, если он еще не запущен.

    Проблема с этим подходом заключается в том, что нечистое завершение оставляет этот файл присутствующим в системе, поэтому его часто дополняют проверкой, чтобы определить, существует ли указанный идентификатор PID и соответствует ли этот PID правильному сценарию.

    Этот метод требует, чтобы вы изменили свой скрипт, а не просто вносили изменения в запись crontab , но это проверенный временем механизм для решения этой проблемы.

    Linux и Unix - лучшая ОС в мире.