Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Запуск PHP из под shell в фоновом режиме!!!  (Прочитано 3876 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн llink

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Здравствуйте!

есть shell скрипт

#!/bin/bash
while sleep 1
do
perl -f /path/to/script.pl
echo "perl done"
php -f /path/to/script.php
echo "php done"
done

Запускаю ./up.sh ---- здесь php отрабатывает как часики.
а ./up.sh & в фоне перл отрабатывает, а php нет. Почему, не могу понять.
Права на исполнение есть.
Когда запускаю в фоне, такое ощущение как будто php зависает или чего то ожидает.
Причем в процессах присутствует, но реально после вывода в консоль perl done, просто висит
вот вывод ps aux:

root     30452  0.0  0.0   1896   512 pts/1    T    13:12   0:00 /bin/sh /path/to/./script.sh

Почему в фоне скрипт приостанавливается?
Подскажите в чем может быть проблема! Как заставить работать скрипт?
Заранее спасибо.

Пользователь решил продолжить мысль 20 Февраля 2011, 01:06:43:
Решено.
Наблюдая за процессами понял, что php приостанавливал исполнение, т.к. по видимому ждал ответа от скрипта, что он выполнен.
Дальше просто добавил в скрипт
#!/bin/bash
while sleep 1
do
perl -f /path/to/script.pl
echo "perl done"
php -f /path/to/script.php & // Не дожидаясь выполнения отправлять в фон.
echo "php done"
done

Затем ./script.sh &

И все стало работать.
« Последнее редактирование: 20 Февраля 2011, 01:06:43 от llink »

 

Страница сгенерирована за 0.014 секунд. Запросов: 22.