Есть некий .py скрипт, который обновляет бд через некоторый промежуток времени, запускается по кнопке "включить" на сайте, он сравнивает данные с модели и если в поле startstop = 1, скрипт запускается, 0, скрипт выключается.
Изначально если сначала было 0, скрипт не запускается, при нажатии на включить 1, скрипт работает, но при нажатии на выключить, в моделе значение меняется на 0, но скрипт продолжает работать. Как мне остановить работу скрипта, чтобы в дальнейшем можно было его снова включить по кнопке. Возможно вопрос лёгкий, возможно, проблема в циклах. Подскажите какое условие нужно прописывать.
Любой скрипт при запуске создает процесс, это если по простому.
Поэтому вам нужно создать в папке /var/run/
файл с вашим pid
допустим proc.pid
По кнопке старт запускается процесс и в этот файл пишется идентификатор
По кнопке стоп читается файл и прибивается процесс с этим идентификатором
в /var/run не обязательно есть доступ на запись у обычного юзера (или юзера www, которым обычно запускают веб сервер), там чаще лежат пидфайлы системных сервисов.
Поэтому пидфайл можно ложить прямо рядом со скриптом