За последние 24 часа нас посетили 18633 программиста и 1560 роботов. Сейчас ищут 1137 программистов ...

Запущен ли я?

Тема в разделе "Решения, алгоритмы", создана пользователем Satger, 25 янв 2021.

  1. Satger

    Satger Активный пользователь

    С нами с:
    19 апр 2020
    Сообщения:
    73
    Симпатии:
    1
    Какие подходы есть к обнаружению факта, что вот этот скрипт уже запущен?

    (Например, с целью решить, запускать ли демона или он уже есть?)
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Завидишь json файлик, в котором пишешь work=true или work=false
    В начале скрипта читаешь файлик, проверяешь, запущен ли скрипт. Если запущен, то тормозишь свой движ.
    Если не запущен, то пишешь, что запущен. Делаешь дела, записываешь, что остановлен перед выходом.

    Тут не принципиально, куда писать. Главное сама суть.
    В БД я бы не стал.
     
    MouseZver нравится это.
  3. Satger

    Satger Активный пользователь

    С нами с:
    19 апр 2020
    Сообщения:
    73
    Симпатии:
    1
    Вы наивны.
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Можно на ты.
    Продолжай мысль )
     
  5. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    при запуске демона создаешь pid файлик.
    добавляешь задачу крон, проверяешь наличие файлика, отправляешь запрос процессу, если файлик есть , например
    PHP:
    1. posix_kill( $pid, 0 )
    ну и дальше делаешь нужное. главное, чтобы от одного пользователя)