2011-01-26 2 views
0

Существует сценарий PHP, который я запускаю из командной строки. Выдает различную информацию на мой терминал, когда он читает.Остановка сценария, а затем его перезапуск?

Я хочу закодировать триггер перезапуска для него, чтобы при вызове он (очевидно) перезапустил скрипт.

Я думал о том, чтобы заставить его вызвать другой файл, а затем просто die(), а другой файл вызывает сценарий, но я хочу, чтобы сценарий перезагрузился в том же терминале.

Возможно ли это?

+0

windows? linux? или mac? – ajreal

+0

linux, centos5.5 – Rob

ответ

1

php имеет аналоговый сигнал с функцией c, называемой «pcntl_signal», которая позволяет настраивать обработчики сигналов.

в сигнальном обработчике (например, SIGUSR1 или SIGTSTP) вы можете выполнить код перезагрузки.

Либо:

а) кодирует все тело сценария PHP в функции, и есть обработчик сигнала просто вызовите функцию снова

б) PHP скрипт может EXEC себя [или EXEC $ ARGV [0]]

в любом случае, сразу после этого звонка, вы должны позвонить умереть

+0

Правильно, но будет ли он продолжать вывод на терминал? – Rob

+0

обе будет. в каждом случае стандартный вывод/ошибка сохраняется. –

+0

попытался выполнить сам, он повторно подключается, но не продолжает выводить на терминал. – Rob

Смежные вопросы