Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Веб-программирование (PHP, CGI, ASP, ...) _ php функция RTFM php - exec()...

Автор: SPY 28.12.2007, 21:05

Уважаемые программёры, помогите разобраться... В php я мало понимаю!!! а мне надо запустить и откомпилировать демона... мне сказали что это можно сделать с помощью exec() функции... Подскажите как???

Если бы из ssh мне бы пришлось зделать следующее:
*** ЗАПУСК ДЕМОНА ***
1. Откомпилируйте демона командой g++ -O3 -o daemon daemon.cpp
2. Процедура запуска в Unix/Linux :
из шелла.
Идите в директорию data/daemon и просто запустите демона как обычную программу: ./daemon.pl (или perl ./daemon.pl)


подскажите как мне это сделать!!! Буду благодарен до конца жизни...

Автор: gid 28.12.2007, 21:31

Теоритически php-код должен быть таким:

Код

<?php
exec("g++ -O3 -o daemon daemon.cpp");

exec("data/daemon/daemon.pl");
?>

при условии что:
* это действительно все шаги компиляции и запуска
* функция exec() разрешена
* все файлы находятся в одной из корневых папок для php

если последнее условие не выполняется, то нужно изменять директорию с помощью chdir("путь_к_нужной_папке") или же указывать полный путь непосредственно в самой функцие exec().

Подробнее о запуске приложений на стороне сервера можно прочитать в статье http://forum.wm-help.net/go/?http://php-manual.info/f/ref.exec.html

Автор: SPY 28.12.2007, 21:35

Цитата(gid @ 28.12.2007, 18:31) *

Теоритически php-код должен быть таким:
Код

<?php
exec("g++ -O3 -o daemon daemon.cpp");

exec("data/daemon/daemon.pl");
?>

при условии что:
* это действительно все шаги компиляции и запуска
* функция exec() разрешена
* все файлы находятся в одной из корневых папок для php

если последнее условие не выполняется, то нужно изменять директорию с помощью chdir("путь_к_нужной_папке") или же указывать полный путь непосредственно в самой функцие exec().

Подробнее о запуске приложений на стороне сервера можно прочитать в статье http://forum.wm-help.net/go/?http://php-manual.info/f/ref.exec.html





Огромное спасибо...
Это надо просто сделать php файл с этим кодом, загрузить его через ftp и запустить??? Я так понял????

Автор: gid 28.12.2007, 21:56

Цитата
Это надо просто сделать php файл с этим кодом, загрузить его через ftp и запустить??? Я так понял????

Да, вы все правильно поняли.

Автор: SPY 29.12.2007, 4:05

А как тогда его остановить??? Подскажита пожалуйста!!!

Автор: gid 29.12.2007, 10:53

Если это ОС Linux или Unix то там существуют команды завершения процессов:
skill [имя_процесса] - завершение процесса по его имени
kill [pid_процесса] - завершение по pid (process id)

т.е. теоритически процесс остановить можно так:

Код
<?php
exec("skill daemon");
?>


где daemon - точное имя больше ненужного процесса.

Автор: olia777 11.3.2008, 18:59

Господа системные администраторы города Москвы (кто реально работает в этой должности в какой-либо организации, является профессионалом, а не любителем)!
Нужна Ваша помощь в одном деликатном деле. Заплачу 100 долларов или даже побольше в случае успеха...
Подробности расскажу лично.
Мой номер в программе ICQ (программа для переписки по Интернет) 382-177-345.

Invision Power Board ()
© Invision Power Services ()