как узнать запущен ли php скрипт в данный момент

Discussion in 'PHP' started by Sharky, 24 Nov 2008.

  1. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    как узнать запущен ли php скрипт в данный момент на сервере
     
  2. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    374
    Reputations:
    460
    На прямую не как не сделать, можно сделать так, при загрузки скрипта создаеться файл, при завершении удаляеться, и при загрузке другой версии скрипта проверятся сушествование файла. ДУмаю понятна логика.
     
    3 people like this.
  3. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    возможно неплохая идея :) заплюсовал :)
     
  4. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    сделай отсылку на мыло и какой-нить qip или magent поставь специально на этот ящик, при каждом запуске будешь оповещён
     
  5. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Да не "возможно", а точно. Во многих никсах используется та же идея, чтобы предотвратить повторный запуск демона, к примеру (pid-файлы в /var/run, которые также несут дополнительную информацию, как минимум о PID процесса).
     
  6. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    ненадежный способ - приложение может недоработать до конца.
    Проще сокет, к примеру, биндить и т.д.
     
    1 person likes this.
  7. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    программист должен предусмотреть, какие исключительные ситуации, приводящие к краху скрипта, могут возникнуть и грамотно их обработать. Так что ненадежность способа - вещь спорная.

    ЗЫ. IMHO
     
    1 person likes this.
  8. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    некоторые сигналы ты попросту обработать на ур-не приложения не сможешь )
     
  9. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    я б заипался это делать.. особенно зная о ненадёжности хостинга.

    судя по вопросу - скрипт должен работать достаточно долго. можно сделать ведение лога. в файле. а при повторном запуске проверять дату последнего изменения файла.
     
    1 person likes this.
  10. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    хороших идей сказали в избытке...думаю тему можно клозед
     
  11. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    И как? Например исключительная ситуация: скрипт убит другим процессом. Что делаешь в этом случае?
     
  12. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Угу...nerezus прав....все исключительные ситуации ты не предусмотришь...есть много НО при которых ды даже ничего записать\удалить не сможешь )))
    Как один из вариантов(его уже тут писали) - создавать заблокированный сокет,например, и потом проверять его(при убиении он должен освободиться)...
     
  13. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    использовал способ нера :) всё гуд
     
  14. Buffalon

    Buffalon Elder - Старейшина

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    ЗАписывай время в базу , потом сравнивай время ... .
     
  15. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    спасибо, но вопрос УЖЕ РЕШЁН