Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP Скрипт умирает, запуская свою очередную копию / 11 сообщений из 11, страница 1 из 1
20.07.2012, 18:19:36
    #37887469
poiuytrewq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
Добрый вечер,

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

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php

echo "test\n";

sleep(5);

echo exec( '/usr/bin/php ' . __FILE__ );

?>



Запустив этот скрипт на экране один раз пишется "test", после чего скрипт бесконечно думает ничего не выводя на экран.
Почему так происходит?
...
Рейтинг: 0 / 0
20.07.2012, 18:53:34
    #37887511
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
Ну на самом то деле он видимо выполняется, просто вывод у вас уходит весь куда?
...
Рейтинг: 0 / 0
20.07.2012, 19:01:55
    #37887518
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
и чтобы не порождать рекурсию, лучше добавить хрыжик в конце
...
Рейтинг: 0 / 0
20.07.2012, 19:08:29
    #37887523
poiuytrewq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
HettНу на самом то деле он видимо выполняется, просто вывод у вас уходит весь куда?

разве echo не выводит на экран? мне нужно именно это

Hettи чтобы не порождать рекурсию, лучше добавить хрыжик в конце

echo exec( '/usr/bin/php ' . __FILE__ . '&' );

так?
...
Рейтинг: 0 / 0
20.07.2012, 19:31:49
    #37887545
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
echo выводит не на экран, а в stdout,

через пробел
Код: php
1.
echo exec( '/usr/bin/php ' . __FILE__ . ' &' );
...
Рейтинг: 0 / 0
20.07.2012, 19:46:25
    #37887552
poiuytrewq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
Hettчерез пробел

не подскажете, где можно подробнее прочитать про этот & ?

Hettecho выводит не на экран, а в stdout

есть ли возможность сделать вывод на экран ?
...
Рейтинг: 0 / 0
20.07.2012, 20:21:18
    #37887576
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
http://habrahabr.ru/post/137337/

авторесть ли возможность сделать вывод на экран ?
Я таких не знаю, по сути все следующие вызовы скрипта инициализируются будут выведены когда отработает последний, но т.к. там бесконечная рекурсия - получается что никогда.
А если скрипт в бэкграунде запускается, то там видимо вообще свой поток, который даже не знаю куда уходит, может в /dev/null. Я, если честно, в этих всех штучках дрючках не особо разбираюсь.

А какова задача, может быть ее можно решить другими способами?
...
Рейтинг: 0 / 0
20.07.2012, 20:43:40
    #37887586
poiuytrewq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
HettА какова задача, может быть ее можно решить другими способами?

Есть скрипт, который запускается по крону каждые 5 минут (меньше задать не могу).
При запуске скрипт смотрит, не запущен ли уже скрипт, и если да, то выполнение прерывается.
Проблема в том, что скрипт может работать и 3 минуты (и тогда 2 минуты я грубо говоря теряю) а может иногда отрабатывать дольше 5 минут и тогда следующий скрипт вообще не запустится, тогда вычислительные потери будут ещё больше.

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

Можно конечно запускать скрипты без вывода на экран, но как конатролировать ошибки?
...
Рейтинг: 0 / 0
20.07.2012, 21:19:31
    #37887604
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
poiuytrewqкак конатролировать ошибки?В логе.


poiuytrewqскрипт, который запускается по крону каждые 5 минут (меньше задать не могу).Запускайте управляющий скрипт, хоть на шелл, хоть на чем угодно. А из него хоть каждую секунду целевой.
...
Рейтинг: 0 / 0
20.07.2012, 21:24:55
    #37887608
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
А нельзя сделать, чтобы целевой скрипт не умирал?
...
Рейтинг: 0 / 0
20.07.2012, 21:26:54
    #37887610
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP Скрипт умирает, запуская свою очередную копию
На своем сервере можно, конечно. На шаред-хостинге часто есть ограничение на время жизни процесса, потому такие вот финты ушами.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP Скрипт умирает, запуская свою очередную копию / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]