ФорумПрограммированиеPHP для идиотов → Флаг процесса

Флаг процесса

  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz Янв. 26, 2012, 9:33 д.п.

    !
    Есть php скрипт.

    Хочется вначале скрипта установить какой то флаг, который 100% прекратит существование после завершения или прекращении (в том числе аварийного) выполнения.

    Причем флаг чтобы можно было считать любым другим процессом (не PHP)

    lock на файл не хотелось бы…
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz Янв. 26, 2012, 9:39 д.п., спустя 5 минут 49 секунд

    Закрывай все сокеты, соединения с бд и файловые дескрипторы, у php не за чем больше висеть
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Янв. 26, 2012, 9:59 д.п., спустя 20 минут 6 секунд

    arvitaly,
    а) [man]register_shutdown_function[/man] тебе поможет. даже если кривой скрипт наебнется по ошибке, нужный кусок кода будет выполнен.
    б) я так понял (почему это?), твой скрипт это НЕ веб-страничка, а запускается из консоли? тогда ты можешь доверить создание/удаление файла .pid скрипту на bash, а уже он будет стартовать твой php-скрипт. примеры найдешь в /etc/init.d/
    ιιlllιlllι унц-унц
  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz Янв. 26, 2012, 10:03 д.п., спустя 4 минуты 18 секунд

    1. Мне нужно чтобы флаг отвалился даже если PHP отвалится совсем (в смысле даже исполняемый процесс php), а не только скрипт
    2. Мне нужно кроссплатформенное решение, но походу его нет)
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz Янв. 26, 2012, 11:31 д.п., спустя 1 час 27 минут 32 секунды

    PID чем плох…. ?
  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz Июнь 18, 2012, 5:32 п.п., спустя 144 дня 6 часов

    хз, а причем тут PID?
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz Июль 3, 2012, 4:13 п.п., спустя 14 дней 22 часа 41 минуту

    $lock = fopen(TMPPATH.'/'.$name.'.run', 'w');
    if (!flock($lock, LOCK_EX | LOCK_NB))
    die();
  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz Июль 6, 2012, 2:21 д.п., спустя 2 дня 10 часов 7 минут

    :-)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!