![]() |
А в PHP можно выполнить команду Unix (типа exec()), только при этом не дожидаться результата выполнения этой команды?
|
cmd 2>&1 > /dev/null
|
А cmd это команда или это все cmd 2>&1 > /dev/null нужно перед командой набрать...или после? :)
|
cmd это и есть твоя комманда
|
Не получается...:( я сделал маленькую страничку, которая должна запускать скрипт (а в нем бесконечный цикл) и у меня страничка виснет, даже если я cmd 2>&1 > /dev/null делаю и & добавляю, все равно висит... :( Кстати, если набираю тоже в командной строке, то тоже висит...может ты ошибся где-то?
|
Цитата:
Что можно посоветовать. Запускай *.sh который будет в свою очередь запускать твою программу. |
Pozwoliu sebe wmeshatsya, exec() w php ne reagiruet ni na perenaprawlenie stdout, stderr i &. Sorc ne smotrel, no kak ya ponimaju, php dojidaetsya okonchaniya processa.
|
В том то и дело, что cmd & не вешает терминал, а cmd 2>&1 > /dev/null вешает :) Я сделал скрипт на perl, который запускает программу, только PHP все равно ждет чего-то, с *.sh будет по другому?
|
Пусть php запускает *.sh, которая в свою очередь запускает cmd 2>&1>/dev/null. Т.е. скрипт *.sh будет отрабатывать и возвращатся к php, а cmd будет в памяти висеть.
|
Цитата:
cmd 2>&1 > /dev/null запустит просто cmd с выводом всех сообщений в "никуда", это не запустит в бакграунд его, ПХП будет ждать завершения этой комманды. |
А чтобы запустить что-то и не ждать завершения, можно конечно форкать процесс (в ПХП функция pcntl_fork), для управления процессаим вообще смотри соответствующий раздел МАНа: http://php.rinet.ru/manual/ru/ref.pcntl.php
|
Я не знаю как писать в sh... Но я же говорю - создаю скрипт на perl'е, который запускает программу, в perle юзаю exec - эта функция вызывает выход из скрипта после своего завершения, саму команду пишу со всякими 2>&1>/dev/null и &, но все равно php висит... :mad: :confused:
|
Цитата:
Полагаю на ПЕРЛе он тоже будет завершения ждать если просто EXEC использовать, также процессами управлять придется... |
По-моему, дурной стиль оставлять в памяти веб-сервера постоянно работающий веб-скрипт. Нельзя его каждую минуту в cron запускать, что ли?
На некоторых хостингах вообще время жизни любого процесса ограничено...несколькими минутами в зависимости от тарифного плана. |
может это и дурной тон, но так надо, каждую минуту - слишком большой интервал... У меня другой вопрос - как в Perl'e обратиться к базе postgresql? Приконнектиться и выполнить запрос? :help:
|
| Часовой пояс GMT +4, время: 05:46. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.