PHP执行命令和日志输出没有等待

我使用exec()来执行命令,无论是Linux或Windows

你如何执行一个命令,Linux和Windows,并输出而不等待?

我知道对于Linux来说,不要等待输出: command* > /dev/null 2>/dev/null &

并logginglinux的输出: command* > /path/to/log.txt 2>/path/to/error.txt

你将如何去logging和设置一个命令的背景? 窗户怎么样?

在Linux上你可以做:

 exec('command* > /dev/null 2>/dev/null &'); 

在Windows上,你可以这样做:

 pclose(popen('start /B cmd /C "command* >NUL 2>NUL"', 'r')); 

这两个例子禁用输出和错误,那些去/dev/null (linux)或NUL (窗口),这意味着他们存储“无处”。

您可以将它们替换为系统上的有效路径。

在Linux上, &最后将其置于后台。 在Windows上,这是更复杂的,需要start调用进程和cmd来允许重定向的流。