2012-06-24 40 views
2

如何将命令发送到使用PHP的后台进程?发送命令到后台进程?

我开始过程是这样的:

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

我杀了这样的流程:

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

而我检查,如果该进程正在运行,如下所示:

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

但是我怎么能发送一个命令,例如从这个后台进程“退出”到控制台。

如果您鸵鸟政策了解萨-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。使用这个句柄,你可以发送命令,就好像它们来自标准输入一样,也就是说,如果你在应用程序上键入命令,如“退出”或“退出”等。 – Robbie

+0

嗯但我会发送服务器在后台...我无法用proc_open打开进程并发送命令!我会将它发送给背景,如果我需要,我会在稍后打开过程(通过PID)。我无法启动这个过程两次......或者你的意思是? –