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

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

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

  • Выполнить команду Nohup с помощью ввода
  • После fork (), где ребенок начинает свое выполнение?
  • Как я могу убить вредоносное ПО на сервере AWS EC2? (скомпрометированный сервер)
  • запуск cron на chroot
  • Что заставляет cron постоянно отправлять почту и как ее отключить?
  • Сортировка файлов в папке в датированные папки
  • Я не хочу устанавливать его на */3 * * * * , однако мне нужно что-то вроде:

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

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

  • можно заморозить процесс в Linux и перезагрузить или выключить компьютер. Затем продолжайте процесс, который был заморожен?
  • Что может привести к тому, что cron будет работать дважды в тот же момент?
  • Задание CRON для выполнения команды с низкой памятью
  • cronjob для автоматического резервного копирования БД на сегодняшний день с префиксом файла
  • Где мои потерянные работы cron?
  • Невозможно отредактировать crontab как пользователь без root
  • One Solution collect form web for “Проверить, что процесс уже запущен в webfaction?”

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

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

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

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