2012-06-24 3 views
2

Как я могу отправить команду в фоновый процесс с помощью PHP?Отправить команду в фоновый процесс?

Я начинаю процесс, как это:

exec('start /D "samp-server.exe"'); 

я убить процесс, как это:

exec('TASKKILL /F /IM "samp-server.exe"'); 

И я проверить, если процесс запущен, как это:

exec('tasklist /FI "IMAGENAME eq samp-server.exe"'); 

Но как я могу отправить команду, например, «выйти» на консоль из этого фонового процесса.

Если вы не знаете о Sa-MP консоли сервера:

http://www.abload.de/image.php?img=firstd0lc9.png

http://www.abload.de/image.php?img=thenf3guh.png

ответ

0

Используйте proc__open http://www.php.net/manual/en/function.proc-open.php как это должно дать вам контроль вам нужно. Пример на странице руководства.

+0

Хм. Но примеры плохие. proc_open, открывает процесс? Правильно? Мне нужно отправить команду в текущий процесс. ... –

+0

В основном вы запускаете команду с помощью proc_open и получаете дескриптор процесса. Используйте это вместо exec. С помощью этого дескриптора вы можете отправлять команды так, как если бы они поступали из ввода std, т. Е. Как если бы вы набрали команду в приложении, например, «exit» или «quit» и т. Д. – Robbie

+0

hmm Но я бы отправил сервер в фоновом режиме ... Я не могу открыть процесс с proc_open и отправлять команды! Я отправил бы его в Background И я бы позже открыл Process (по PID), если мне это нужно. Я не мог дважды запустить этот процесс ... Или что вы имеете в виду? –

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