За последние 24 часа нас посетил 23881 программист и 1860 роботов. Сейчас ищут 1766 программистов ...

Запуск CLI скрипта в бэкграунде

Тема в разделе "Установка PHP", создана пользователем vagrand, 29 окт 2009.

  1. vagrand

    vagrand Активный пользователь

    С нами с:
    26 май 2009
    Сообщения:
    3
    Симпатии:
    0
    Всем привет. Прошу помощи ибо сам разобраться не могу.
    Выполняю простейшую команду:

    > /usr/bin/php -r 'echo "works";' > test.txt &

    т.е. по идее команда должна выполнится в бекграунде и записать вывод echo в файл test.txt. Но этого не происходит, т.е. пустой файл test.txt создается и все. При этом процесс не умирает а висит в списке процессов с флагм "T".

    > ps ax | grep php
    4581 pts/0 T 0:00 /usr/bin/php -r echo "works";
    4600 pts/1 S+ 0:00 grep php

    При этом если запустить команду без "&", т.е. так:

    > /usr/bin/php -r 'echo "works";' > test.txt

    все работает как нужно. Пробовал добавлять 2>&1 - никакого изменения.

    Я точно знаю что так скрипт должен работать т.к. я неодин раз писал подобные скрипты раньше, но раньше у меня стоял ALT Linux, а сейчас Ubunu. Хотя я не думаю что это зависит от линуха, скорее всего либо у меня неправильно собран PHP либо что-то недонастроено.
     
  2. arrecck

    arrecck Активный пользователь

    С нами с:
    10 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    попробывал тот же косяк, чего нашел, что в дебиановских дистрах этот косяк уже 5 лет существует, проблемы с libedit библиотекой
    вот ссылки по теме
    http://bugs.debian.org/cgi-bin/bugr...tp://ubuntuforums.org/showthread.php?t=977332[/url]
    в ./configure добавить --with-readline как вариант